两个装饰器似乎只是为您创建一条路线。但实际差异是什么(如果有的话)?文档中并不清楚。
我什至以同样的方式创建了两条路线,没有区别
@action
用于在现有 ViewSet 中创建方法 可路由:
如果您有应可路由的临时方法,您可以标记它们 与
装饰器一样。@action
@api_view
将基于普通函数的视图函数“转换”为 DRF 视图。 文档解释得最好:
REST 框架还允许您使用基于常规函数的 意见。它提供了一组简单的装饰器来包装您的函数 基于视图以确保它们收到 Request 的实例(而不是 通常的 Django HttpRequest)并允许它们返回响应 (而不是 Django HttpResponse),并允许您配置如何 请求已处理。 该功能的核心是
装饰器,它需要 您的视图应响应的 HTTP 方法列表。api_view