Skip to main content

django-rest-swagger-swaggerdoc

Project description

CircleCI Status CodeCov Status

Django REST Swagger 2.0 has changed drastically. For example, you may not put a return code in YAML files. This package provides functions to inject a swagger style yaml data to the django-rest-swagger’s data.

How to use it

  1. Add rest_framework_swagger to your INSTALLED_APPS setting

    settings.py:

    INSTALLED_APPS = (
        ...
       'rest_framework_swagger',
    )
  2. You create a swagger style yaml file.

    This YAML file is swagger style.

    ./api_test_doc.yml:

    get:
      description: test document
      responses:
        200:
          description: success
        400:
          description: bad request
          schema:
            type: json
          headers:
            Content-Type: application/json
  3. You create api view function or ViewClass.

    The swaggerdoc decorator to specify the relative path from the file the view callable is defined.

    views.py:

    from rest_framework.decorators import api_view
    from rest_framework.views import APIView
    
    from django_rest_swagger_swaggerdoc import swaggerdoc
    
    @swaggerdoc('api_test_doc.yml')
    @api_view()
    def example_view(request):
        pass
    
    class ExampleView(APIView):
        @swaggerdoc('./api_test_doc.yml')
        def get(self, request):
            pass
  4. You create document schema view.

    Use django_rest_swagger_swaggerdoc.renderers.SwaggerAdditinalDocRenderer. DO NOT USE rest_framework_swagger.renderers.OpenAPIRenderer.

    views.py:

    from rest_framework_swagger.renderers import SwaggerUIRenderer
    from rest_framework.decorators import api_view, renderer_classes
    from rest_framework import response, schemas
    
    from django_rest_swagger_swaggerdoc.renderers import SwaggerAdditinalDocRenderer
    
    
    @api_view()
    @renderer_classes([SwaggerUIRenderer, SwaggerAdditinalDocRenderer])
    def schema_view(request):
        generator = schemas.SchemaGenerator(title='Pastebin API')
        return response.Response(generator.get_schema(request=request))

See example project: https://github.com/TakesxiSximada/django-rest-swagger-swaggerdoc/tree/master/examples

Install

$ pip install django-rest-swagger-swaggerdoc

It is depends on djangorestframework(>= 3.4.7). If older than version 3.7.4, it may not be able to correctly resolve the YAML path.

Other

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-rest-swagger-swaggerdoc-1.0.post2.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file django-rest-swagger-swaggerdoc-1.0.post2.tar.gz.

File metadata

File hashes

Hashes for django-rest-swagger-swaggerdoc-1.0.post2.tar.gz
Algorithm Hash digest
SHA256 8381cae839213dd87ee3dd777849add9b666e741eb7198b95367a55d47a42c12
MD5 fe560c193dfea71df618d6c2dc1d3287
BLAKE2b-256 b9aff44a360ec58594d9e460c0c1254856349010c37121f6c389c387e3362617

See more details on using hashes here.

File details

Details for the file django_rest_swagger_swaggerdoc-1.0.post2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_rest_swagger_swaggerdoc-1.0.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 93af9dde39625441c4139df6a5073b1ccb5edf21d49135aa6df97c880e53a207
MD5 acd710644e010b33261fe29d89252371
BLAKE2b-256 41b21d2648614906f4c3691ba5b3487684b5f9267e9b6afaf262938377b96106

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page