DRF-YASG中如何配置和管理OpenAPIInfo
发布时间:2024-01-20 19:27:46
DRF-YASG是一个在Django Rest Framework(DRF)中用于自动生成和文档化API的工具,使用OpenAPI规范。OpenAPI规范是一种定义和描述RESTful API的语言无关的标准。
在DRF-YASG中,可以通过定义OpenAPIInfo对象来配置和管理API的元信息。OpenAPIInfo对象需要以下几个属性:
1. title:API的标题。
2. default\_version:默认的API版本。
3. description:API的描述。
4. terms\_of\_service:服务条款。
5. contact:联系人的信息。
6. license:许可证的信息。
7. license\_url:许可证的URL。
以下是一个使用DRF-YASG配置和管理OpenAPIInfo的例子:
from django.urls import path
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
from rest_framework import permissions
# 定义OpenAPIInfo对象
info = openapi.Info(
title="My API",
default_version="v1",
description="API for my project",
terms_of_service="https://example.com/terms/",
contact=openapi.Contact(email="contact@example.com"),
license=openapi.License(name="BSD License"),
license_url="https://opensource.org/licenses/BSD-3-Clause",
)
# 创建API schema视图
schema_view = get_schema_view(
info=info,
public=True,
permission_classes=(permissions.AllowAny,),
)
urlpatterns = [
# API文档URL
path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),
# 其他API URL
path('api/v1/', include('myapp.urls')),
]
在上述例子中,首先创建了一个OpenAPIInfo对象,并设置了相应的属性,如标题、版本号、描述等。然后,使用这个OpenAPIInfo对象来创建API schema视图。最后,将API文档的URL和其他API的URL添加到项目的URL配置中。
通过上述配置,当访问/swagger/或/redoc/路径时,将展示自动生成的API文档。API文档将包括指定的标题、版本号、描述等信息,并根据项目中定义的API视图自动生成相应的API文档内容。
总结来说,通过DRF-YASG,可以方便地配置和管理OpenAPIInfo对象来定义API的元信息,并自动生成和文档化API。在实际项目中,可以根据需要设置OpenAPIInfo对象的各个属性,以描述和展示API的相关信息。
