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

Python中的drf_yasg.openapiTYPE_STRING如何用于定义API参数中的字符串类型

发布时间:2024-01-02 06:33:14

在Python中使用DRF_YASG库进行API文档生成时,可以使用drf_yasg.openapi.TYPE_STRING来定义API参数中的字符串类型。

drf_yasg.openapi.TYPE_STRING是一个常量,表示字符串类型的参数。你可以将其用于DRF的装饰器@swagger_auto_schema中的@openapi.Parameter来定义API参数的类型为字符串。

以下是一个例子,展示了如何使用drf_yasg.openapi.TYPE_STRING来定义一个接受字符串类型参数的API视图函数:

from rest_framework.decorators import api_view
from rest_framework.response import Response
from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema

@swagger_auto_schema(
    method='get',
    manual_parameters=[
        openapi.Parameter(
            name='name',
            in_=openapi.IN_QUERY,
            type=openapi.TYPE_STRING
        ),
    ],
)
@api_view(['GET'])
def example_view(request):
    name = request.query_params.get('name')
    return Response({'message': f'Hello, {name}!'})

在上面的例子中,我们定义了一个名为name的查询参数,其类型为字符串。我们在装饰器@swagger_auto_schemamanual_parameters参数中使用openapi.Parameter来定义该参数。对于openapi.Parametertype参数,我们使用了drf_yasg.openapi.TYPE_STRING来表示参数的类型为字符串。

当我们通过Swagger UI浏览API文档时,将会看到该API视图函数的参数类型被正确地显示为字符串,并且可以根据该类型进行相应的输入。

尽管上面的例子中只定义了一个查询参数,但你可以根据需要为API视图函数定义多个字符串类型的参数。只需在manual_parameters列表中添加相应的openapi.Parameter即可。

希望以上内容对你有所帮助!