django-rest-swagger:如何分组端点?

bal*_*ldr 8 python django rest swagger django-rest-framework

我正在使用Django REST Framework和django-rest-swagger库来构建API端点.我想通过自定义属性而不是URL对一些API网址进行分组.

例如,我有API端点,并希望按功能对它们进行分组:

# task list management

GET /api/tasks/known  - get known tasks list with their parameters
GET /api/tasks  - get last tasks list with their statuses

# Tasks by ID management

GET /api/task/12345  - get task result/status
DELETE /api/task/12345  - Revoke task

# Task by name management:
# MyTask123

GET /api/tasks/MyTask123 - get task info (parameters, etc)
POST /api/tasks/MyTask123 - async start new task

# MySuperShinyTask777

GET /api/tasks/MySuperShinyTask777 - get task info (parameters, etc)
POST /api/tasks/MySuperShinyTask777 - async start new task

# scheduled tasks management

GET /api/tasks/scheduled - get list of scheduled tasks

# manage exact scheduled tasks

POST /api/tasks/scheduled/MyTask123 - schedule new task
GET /api/tasks/scheduled/12345 - get scheduled task details
PUT /api/tasks/scheduled/12345 - change scheduled task
DELETE /api/tasks/scheduled/12345 - delete scheduled task
Run Code Online (Sandbox Code Playgroud)

所以我想按角色分组.现在他们只将'/ api /'分组,就是这样.

urls.py我这样包括它:

url(r'^api/', include('api.urls'), name='my-api-root'),
Run Code Online (Sandbox Code Playgroud)

如何为django-rest-swagger进行自定义分组?

bal*_*ldr 2

我看到人们不断访问这个问题并对其进行投票。这意味着这个问题是真实的。我可以描述我最近完成类似任务的结果。

我根据OpenAPI规范创建了 API 端点的 YAML 表示形式。我也必须在后端保留相同的 API 端点,这是一个缺点,因为这不是自动生成的文档。

我使用 docker安装了Swagger-UI ,它使用我的 YAML 规范来表示 Swagger 页面。

通过自定义组可以轻松分隔端点,甚至可以将一个端点分为两组。