A CoreAPI Swagger. Swagger coreapi json . Django Rest Swagger Python CoreAPI JSON (https://github.com/core-api/python-client).
coreapi.Document?
API coreapi.Link().
Link :
coreapi.Field(). Field :
Swagger , CoreAPI:
import coreapi
def api_schema_generator():
api_schema = coreapi.Document(
title="My Swagger",
content={
"User Addresses": {
"int_api_get": coreapi.Link(
url="/int_api/v1/addresses/",
action="get",
description="Get addresses of a user",
fields=[
coreapi.Field(
name="user_id",
required=True,
location="path",
description="Unique ID of the user whose addresses are to be found"
),
]
),
"int_api_post": coreapi.Link(
url="/int_api/v1/addresses/",
action="post",
description="Add address for a user",
fields=[
coreapi.Field(
name="user_id",
required=True,
location="path",
description="Unique ID of the user"
),
coreapi.Field(
name="address",
required=True,
location="path",
description="Address of the user"
),
]
)
}
}
)
return api_schema
coreapi.Document . SwaggerUIRenderer, OpenAPIRenderer CoreJSONRenderer.
views.py
from rest_framework.decorators import api_view, renderer_classes
from rest_framework_swagger import renderers as swagger_renderer
from rest_framework import renderers
@api_view()
@renderer_classes([renderers.CoreJSONRenderer,
swagger_renderer.OpenAPIRenderer,
swagger_renderer.SwaggerUIRenderer,
])
def schema_view(request):
api_schema = api_schema_generator()
return response.Response(api_schema)
, , - URL .
urls.py
from django.conf.urls import include, url
urlpatterns = [
url(r'^$', views.schema_view),
]
swagger , , Swagger.