django-rest-swagger对API接口注释的方法
框架(架构)  /  管理员 发布于 7年前   330
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 = UserSerializerclass UserDetail(generics.RetrieveAPIView): """ get: Return a user instance """ queryset = MyUser.objects.all() serializer_class = UserSerializerclass 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_viewfrom rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPICodecschema_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接口注释的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号