欢迎访问宙启技术站
智能推送

DRF-YASG:Python中处理OpenAPIInfo的 实践和建议

发布时间:2024-01-20 19:35:01

DRF-YASG 是Django Rest Framework (DRF)的swagger工具,用于自动生成和处理OpenAPI文档。在Python中使用DRF-YASG处理OpenAPIInfo的 实践和建议如下:

1. 定义API视图

首先,你需要定义你的API视图。使用DRF创建你的API视图,并在视图中定义各种操作,比如GET,POST等。

from rest_framework import generics
from .models import MyModel
from .serializers import MyModelSerializer

class MyModelView(generics.ListCreateAPIView):
    queryset = MyModel.objects.all()
    serializer_class = MyModelSerializer

2. 定义API文档信息

接下来,你可以使用DRF-YASG来定义你的OpenAPI文档信息。可以在你的settings.py文件中添加以下配置:

SWAGGER_SETTINGS = {
    'DEFAULT_INFO': 'your_project.urls.swagger_info',
}

your_project.urls文件中,你可以定义你的API文档信息:

from drf_yasg import openapi

def swagger_info(request):
    return {
        'title': 'My API',
        'version': '1.0',
        'description': 'My API description',
        'contact': openapi.Contact(email='contact@myapi.com'),
        'license': openapi.License(name='BSD License'),
    }

3. 添加Swagger视图

接下来,你需要将Swagger视图添加到你的URL配置中。打开你的urls.py文件,添加以下代码:

from drf_yasg.views import get_schema_view
from drf_yasg import openapi

schema_view = get_schema_view(
    openapi.Info(
        title="My API",
        default_version='v1',
        description="My API description",
        terms_of_service="https://www.google.com/policies/terms/",
        contact=openapi.Contact(email="contact@myapi.com"),
        license=openapi.License(name="BSD License"),
    ),
    public=True,
)

urlpatterns = [
    path('swagger(<format>\.json|\.yaml)', schema_view.without_ui(cache_timeout=0), name='schema-json'),
    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'),
    # ... your other URL patterns
]

这将为你的项目添加Swagger视图,你可以通过访问/swagger/来查看Swagger UI。

4. 运行你的项目

现在,你可以运行你的项目,并通过访问/swagger/来查看自动生成的OpenAPI文档。

这是一个基本的使用DRF-YASG处理OpenAPIInfo的例子。你可以根据你的项目需求对上述代码进行修改和自定义。

总结来说,使用DRF-YASG处理OpenAPIInfo的 实践是定义API视图,定义API文档信息,添加Swagger视图,并运行你的项目。这些步骤将帮助你自动生成和处理OpenAPI文档,提供给其他开发人员使用和参考。