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

Python中drf_yasg.openapi的TYPE_STRING如何定义API参数中的字符串类型

发布时间:2024-01-02 06:32:16

在Python中,使用drf_yasg.openapi的TYPE_STRING可以定义API参数中的字符串类型。TYPE_STRING是drf_yasg.openapi中的一个常量,表示参数的数据类型为字符串。可以在API视图类的参数上使用它来指定该参数的数据类型为字符串。

下面是一个使用drf_yasg.openapi的TYPE_STRING定义API参数中的字符串类型的例子:

from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
from rest_framework.views import APIView
from rest_framework.response import Response

class MyAPIView(APIView):
    @swagger_auto_schema(
        manual_parameters=[
            openapi.Parameter(
                'name',
                openapi.IN_QUERY,
                description='User name',
                type=openapi.TYPE_STRING  # 定义参数类型为字符串
            )
        ]
    )
    def get(self, request):
        name = request.query_params.get('name')
        return Response({'name': name})

在上面的例子中,我们定义了一个名为name的参数,使用openapi.Parameter来指定参数的一些属性,如名称、位置和描述。参数的类型通过type参数指定,这里我们将类型定义为openapi.TYPE_STRING,表示参数的数据类型是字符串。

可以在视图类的get方法上使用@swagger_auto_schema装饰器,将API文档的参数描述和说明添加到自动生成的文档中。

get方法内部,可以通过request.query_params.get('name')来获取传递的参数值。

当请求接口时,可以在URL中添加参数,例如:

GET /api/myview/?name=username

以上请求将携带一个名为name的参数,值为username。在视图方法中,可以通过name = request.query_params.get('name')的方式获取到该值。

这样,就可以通过drf_yasg.openapi的TYPE_STRING定义API参数中的字符串类型,并在API视图类中使用。