Django-rest-framework(七)swagger使用
在我们接口开发完之后,需要交付给别人对接,在没有使用swagger的时候,我们需要单独编写一份api接口文档,由postman之类的工具进行请求得到返回的结果。而有了swagger之后,可以通过提取接口代码中的注释来生成文档,并且可以直接在浏览器中调用,获取返回结果。先看下效果
文章图片
安装
pip install django-rest-swagger
setting.py
文件中添加INSTALLED_APPS = [
...
'rest_framework_swagger',
...
]
配置 在settings.py中可以添加修改swagger相关的配置
SWAGGER_SETTINGS = {
# 这里可以用获取到的token来登录
'SECURITY_DEFINITIONS': {
'api_key':{
'type': 'apiKey',
'in':'query', # token位置在url中
'name':'token' # 验权的字段
}
},
'USE_SESSION_AUTH': False,
'JSON_EDITOR': False, # False,用户可以自己编辑格式,不用按照serializers中的数据添加。True,会有多个输入框,输入serializer对应的字段的值
}
urls.py
中添加一下代码
from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRendererschema_view = get_schema_view(title=‘API', renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer])urlpatterns = [
...
path('docs/', schema_view, name='docs'), # 线上环境中,最好去掉
]
运行服务,访问
docs/
便可以发现生成的文档。NOTE
- 注释支持markdown语法,可以方便的调整格式了
- 改完代码,顺便修改注释就可以更新文档了
docs/
会有权限的判断,所以访问所有接口,最好给所有的权限- 表单等的字段和view(action)对应的serializers相关
推荐阅读
- 七年之痒之后
- 七老修复好敏感、角质层薄、红血丝
- 迷失的世界(二十七)
- 七律.岭南骨科康复联谊有感
- (七)谈条件
- 七律丨游长安晚归
- 工具|后天就是七夕节,你准备好了吗(送上几个七夕代码,展示你技能的时候到了!)
- 七绝|七绝 桃花
- 写给十七年后的你
- 课后分享记录