美文网首页
django-rest-swagger对API接口注释 生成文档

django-rest-swagger对API接口注释 生成文档

作者: Joncc | 来源:发表于2019-03-12 17:55 被阅读0次

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'

    ...
]
  1. 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/,可以看到以下内容:

image.png

访问 http://127.0.0.1:8000/docs/,可以看到接口文档如下:

image.png

点击打开snippets,可以看到如下,每个方法后面都有你在views.py中添加的注释

image.png

点击打开get方法,如下

相关文章

  • django-rest-swagger对API接口注释 生成文档

    django-rest-swagger对API接口注释Swagger是一个API开发者的工具框架,用于生成、描述、...

  • apidocjs-开发人员最好用的API文档

    1.特点: apidoc是根据你源代码中的API注释生成的文档 ,一行命令即可生成api接口文档 此api文档集成...

  • 接口文档工具 apiPost

    ApiPost = 接口调试+接口文档快速生成+接口文档规范化管理+Mock API+接口流程测试。 生成Mock...

  • Java - 注解

    对代码的说明 注释:给程序员看的。分为单行注释、多行注释和文档注释(用于生成API文档)。 注解:给计算机看的。最...

  • xcode创建文档

    使用AppleDoc自动生成项目文档(XCode8)修改Xcode自动生成的文件注释来导出API文档使用Xcode...

  • Java文档自动生成

    java-api-doc 励志做java届最好的文档生成工具,自动解析代码生成api接口文档,前后台分离开发的福音...

  • restframework 自动生成api文档

    自动生成api接口文档,是restframework自带的功能,生成的文档超级详细,既省去了后端人员写文档的时间,...

  • swagger (GO) API文档工具入门

    swaggo swagger 安装 swag 命令 编写注释 服务基础信息 api信息 生成文档 配置文档路由 启...

  • Apidoc的安装配置及使用

    1.什么是Apidoc Apidoc是一款可以由源代码中的注释直接自动生成api接口文档的工具,它几乎支持目前主流...

  • Doxygen文档生成工具教程

    Doxygen是API文档生成工具,可以根据代码注释生成文档的工具。支持HTML、CHM、PDF等格式。主要支持C...

网友评论

      本文标题:django-rest-swagger对API接口注释 生成文档

      本文链接:https://www.haomeiwen.com/subject/icawpqtx.html