django-rest-swagger对API接口注释的方法

 更新时间:2019年08月29日 10:33:37   作者:傲娇的草履虫  
今天小编就为大家分享一篇django-rest-swagger对API接口注释的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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接口注释的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用Python实现二终端网络可靠度

    使用Python实现二终端网络可靠度

    这里给大家分享的是实现二终端网络可靠度的方法以及使用Python实现的代码,有需要的小伙伴可以参考下。
    2021-05-05
  • Python利用代码计算2个坐标之间的距离

    Python利用代码计算2个坐标之间的距离

    这篇文章主要介绍了Python利用代码计算2个坐标之间的距离,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python中函数的各种类型参数解读

    Python中函数的各种类型参数解读

    这篇文章主要介绍了Python中函数的各种类型参数用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python中字节数组和16进制字符串转换方式

    Python中字节数组和16进制字符串转换方式

    这篇文章主要介绍了Python中字节数组和16进制字符串转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • OpenCV学习之图像的分割与修复详解

    OpenCV学习之图像的分割与修复详解

    图像分割本质就是将前景目标从背景中分离出来。在当前的实际项目中,应用传统分割的并不多,大多是采用深度学习的方法以达到更好的效果。本文将详细介绍一下OpenCV中的图像分割与修复,需要的可以参考一下
    2022-01-01
  • python如何将一个四位数反向输出

    python如何将一个四位数反向输出

    这篇文章主要介绍了python如何将一个四位数反向输出,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python生成器generator用法示例

    Python生成器generator用法示例

    这篇文章主要介绍了Python生成器generator用法,结合实例形式分析了Python生成器generator常见操作技巧与相关注意事项,需要的朋友可以参考下
    2018-08-08
  • Python编程调用百度API实现地理位置经纬度坐标转换示例

    Python编程调用百度API实现地理位置经纬度坐标转换示例

    这篇文章主要介绍了Python编程调用百度API来实现地理位置经纬度坐标转换的示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2021-10-10
  • Python的Django应用程序解决AJAX跨域访问问题的方法

    Python的Django应用程序解决AJAX跨域访问问题的方法

    针对Django中在编写供AJAX调用的API时碰到的跨域问题,我们来总结下Python的Django应用程序解决AJAX跨域访问问题的方法,其中使用GitHub上开源分享的django-cors-headers尤其推荐
    2016-05-05
  • Python中threading.Timer()定时器实现定时任务

    Python中threading.Timer()定时器实现定时任务

    本文主要介绍了Python中threading.Timer()定时器实现定时任务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01

最新评论