我使用Django REST框架和Django REST swagger库来构建API端点。我想按自定义属性而不是URL对一些API URL进行分组。在
例如,我有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
所以我想按角色给他们展示一下。现在他们只对“/api/”进行了分组,就这样。在
在urls.py
中,我这样写:
如何为django rest swagger自定义分组?在
我看到人们不断地访问这个问题并投赞成票。这意味着问题是真实的。我可以描述一下我最近在类似的任务中得到了什么。在
我根据OpenAPI规范创建了一个API端点的YAML表示。我必须在后端保留相同的API端点,这是一个缺点,因为这不是自动生成的文档。在
我用docker安装了Swagger-UI,它使用我的YAML规范来表示Swagger页面。在
很容易通过自定义组分离端点,甚至在两个组中有一个端点。在
你可以有一个网址.py在你的tasks应用程序中(我假设有一个),并在你的/tasks url中声明它们。在
每个端点都有一个
在你的api根中网址.py在
^{pr2}$但是,看起来你可以用DRF routers
相关问题 更多 >
编程相关推荐