DRF_Yasg.openapiInfo()配置指南
DRF-YASG(Django REST framework Yet Another Swagger Generator)是一个用于生成Django REST框架的Swagger/OpenAPI文档的库。它提供了一种简单方便的方法来自动生成API文档,并且可以通过一些配置选项来定制生成的文档。本文将介绍DRF-YASG中的openapi_info()方法以及相关的配置选项,并提供一些使用例子。
在使用DRF-YASG生成API文档时,首先需要在urls.py中引入schema_view视图,然后通过调用openapi_info()方法来配置API文档的信息。openapi_info()方法接受一个OpenApiInfo对象作为参数,该对象包含了API文档的基本信息,如标题、描述、版本等。
下面是一个示例配置:
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
schema_view = get_schema_view(
openapi_info=openapi.Info(
title="My API",
default_version='v1',
description="API for my app",
terms_of_service="https://www.example.com/terms/",
contact=openapi.Contact(email="contact@example.com"),
license=openapi.License(name="BSD License"),
),
# ... other options
)
上面的代码中,我们创建了一个OpenApiInfo对象并传入schema_view的openapi_info参数中。OpenApiInfo对象的属性可以根据需求进行配置,下面是一些常用属性的说明:
- title:API文档的标题。
- default_version:API的默认版本。
- description:API文档的描述信息。
- terms_of_service:API的使用条款。
- contact:API的联系人信息,包括姓名和电子邮件地址。
- license:API的许可证信息,包括许可证名称。
除了上述属性之外,OpenApiInfo对象还有其他一些可用的属性,如version、host、schemes等,可以根据需要进行配置。有关完整的配置选项,请参考DRF-YASG的官方文档。
除了配置openapi_info()方法之外,还可以通过其他配置选项来定制生成的API文档,例如:
- public:是否公开API文档,默认为True。如果为False,则只有经过授权的用户才能查看API文档。
- permission_classes:权限类列表,配置哪些用户可以查看API文档。
- authentication_classes:认证类列表,配置API文档的认证方式。
下面是一个完整的配置示例:
from drf_yasg import openapi
from drf_yasg.views import get_schema_view
from rest_framework.permissions import AllowAny
from rest_framework.authentication import TokenAuthentication
schema_view = get_schema_view(
openapi_info=openapi.Info(
title="My API",
default_version='v1',
description="API for my app",
terms_of_service="https://www.example.com/terms/",
contact=openapi.Contact(email="contact@example.com"),
license=openapi.License(name="BSD License"),
),
public=False,
permission_classes=(AllowAny,),
authentication_classes=(TokenAuthentication,),
# ... other options
)
上面的示例配置了public属性为False,意味着只有经过授权的用户才能查看API文档;配置了permission_classes为(AllowAny,),表示所有用户都可以查看API文档;配置了authentication_classes为(TokenAuthentication,),表示API文档的认证方式为Token认证。
使用DRF-YASG生成API文档非常简单,只需通过配置openapi_info()方法和相关选项即可。通过合理配置,可以生成符合项目需求的API文档,并提供给用户进行查看和使用。
