django-rest-swagger对API接口注释的方法
程序员文章站
2023-11-29 19:21:22
swagger是一个api开发者的工具框架,用于生成、描述、调用和可视化restful风格的web服务。总体目标是使客户端和文件系统服务器以同样的速度来更新,方法,参数和模...
swagger是一个api开发者的工具框架,用于生成、描述、调用和可视化restful风格的web服务。总体目标是使客户端和文件系统服务器以同样的速度来更新,方法,参数和模型紧密集成到服务器端的代码中,允许api始终保持同步。
在使用 django-rest-framework 进行api开发,可以使用django-rest-swagger接入swagger自动生成接口文档。
1. 安装django-rest-swagger
pip install django-rest-swagger
2.配置settings.py
installed_apps = [ ... 'rest_framework_swagger' ... ]
3. views.py
该博文的项目是django-rest-framework中文站点的例子:https://q1mi.github.io/django-rest-framework-documentation
当需要对接口的各种方法进行注释时,直接在该类下添加注释,如下所示。需要注意是的:注释的方法名称(如 get、post)要对应该类所含的方法名称
class snippetlist(generics.listcreateapiview): """ get: return all snippets. post: create a new snippet instance. """ queryset = snippet.objects.all() serializer_class = snippetserializer permission_classes = (permissions.isauthenticatedorreadonly,) def perform_create(self, serializer): serializer.save(owner=self.request.user) class snippetdetail(generics.retrieveupdatedestroyapiview): """ get: return a snippet instance. put: update a snippet instance. patch: update a snippet instance. delete: delete a snippet instance. """ queryset = snippet.objects.all() serializer_class = snippetserializer permission_classes = (permissions.isauthenticatedorreadonly, isownerorreadonly,) class userlist(generics.listapiview): """ get: return all users """ queryset = myuser.objects.all() serializer_class = userserializer class userdetail(generics.retrieveapiview): """ get: return a user instance """ queryset = myuser.objects.all() serializer_class = userserializer class snippethighlight(generics.genericapiview): """ get: return a highlight instance """ queryset = snippet.objects.all() renderer_classes = (renderers.statichtmlrenderer,) def get(self, request, *args, **kwargs): snippet = self.get_object() return response(snippet.highlighted)
3.配置urls.py
from rest_framework.schemas import get_schema_view from rest_framework_swagger.renderers import swaggeruirenderer, openapicodec schema_view = get_schema_view(title='api', renderer_classes=[swaggeruirenderer, openapicodec]) urlpatterns = [ ... url(r'docs/', schema_view, name='docs') ... ]
运行manage.py后,浏览器访问 http://127.0.0.1:8000/,可以看到以下内容:
访问 http://127.0.0.1:8000/docs/,可以看到接口文档如下:
点击打开snippets,可以看到如下,每个方法后面都有你在views.py中添加的注释
点击打开get方法,如下
以上这篇django-rest-swagger对api接口注释的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
django-rest-swagger对API接口注释的方法
-
在Pycharm中对代码进行注释和缩进的方法详解
-
遇到项目RESTful改造时怎么用ajax的$post方法请求api接口?
-
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
-
小程序云函数调用API接口的方法
-
yii2 开发api接口时优雅的处理全局异常的方法
-
.NET Core利用swagger进行API接口文档管理的方法详解
-
[编写高质量iOS代码的52个有效方法](五)接口与API设计(下)
-
基于Laravel Auth自定义接口API用户认证的实现方法
-
python 调用有道api接口的方法