DRF_Yasg.openapiInfo()参数详细解释
DRF_Yasg是一个用于生成并展示Django REST framework(DRF)项目的API文档的第三方库。其中的openapiInfo()函数用于设置和定义API文档的基本信息。
openapiInfo()函数接收一个字典类型的参数,包含以下键值对:
- **title**:定义API文档的标题。
- **description**:定义API文档的描述。
- **version**:定义API的版本号。
- **terms_of_service**:定义API服务的使用条款。
- **contact**:定义API服务的联系人信息。可以是一个字典,包含以下键值对:name(姓名)、url(链接)和email(电子邮件)。
- **license**:定义API服务的许可证信息。可以是一个字典,包含以下键值对:name(许可证名称)和url(许可证链接)。
下面是一个使用openapiInfo()函数的例子:
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
from rest_framework.permissions import AllowAny
schema_view = get_schema_view(
openapi.Info(
title="My API",
default_version="v1",
description="API for my app",
terms_of_service="https://www.example.com/terms/",
contact=openapi.Contact(name="John Doe", url="https://www.example.com/contact/", email="john.doe@example.com"),
license=openapi.License(name="Apache 2.0", url="https://www.apache.org/licenses/LICENSE-2.0"),
),
public=True,
permission_classes=(AllowAny,),
)
urlpatterns = [
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'),
]
在上面的例子中,我们首先导入了需要的模块和类。然后,我们调用openapiInfo()函数来设置API文档的基本信息。接着,我们创建了一个get_schema_view()视图,并将openapiInfo()对象作为参数传入。最后,我们将这个视图添加到Django的URL配置中。
这样,当我们访问"/swagger/"或"/redoc/"路由时,就会展示出生成的API文档,并根据设置的基本信息来展示文档的标题、描述、版本号、使用条款、联系人信息和许可证信息。
总结一下,openapiInfo()函数是用来设置和定义API文档的基本信息的,可以通过传入一个字典类型的参数来设置标题、描述、版本号、使用条款、联系人信息和许可证信息。使用这个函数可以提供丰富的API文档信息,并方便生成和展示API文档。
