Django-rest-framework(七)swagger使用

在我们接口开发完之后,需要交付给别人对接,在没有使用swagger的时候,我们需要单独编写一份api接口文档,由postman之类的工具进行请求得到返回的结果。而有了swagger之后,可以通过提取接口代码中的注释来生成文档,并且可以直接在浏览器中调用,获取返回结果。先看下效果
810345-20190214135522451-208380269.png

安装

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, OpenAPIRenderer
   
schema_view = get_schema_view(title=‘API', renderer_classes=[OpenAPIRenderer, SwaggerUIRenderer])

urlpatterns = [
    ...
    path('docs/', schema_view, name='docs'), # 线上环境中,最好去掉
    ]

运行服务,访问docs/ 便可以发现生成的文档。

NOTE

  • 注释支持markdown语法,可以方便的调整格式了
  • 改完代码,顺便修改注释就可以更新文档了
  • docs/ 会有权限的判断,所以访问所有接口,最好给所有的权限
  • 表单等的字段和view(action)对应的serializers相关

转载于:https://www.cnblogs.com/yuzhenjie/p/10374136.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值