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

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

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

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

from drf_yasg import openapi
from drf_yasg.utils import swagger_auto_schema
from rest_framework import generics

class SampleAPIView(generics.GenericAPIView):
    @swagger_auto_schema(
        request_body=openapi.Schema(
            type=openapi.TYPE_OBJECT,
            properties={
                'name': openapi.Schema(type=openapi.TYPE_STRING),
                'email': openapi.Schema(type=openapi.TYPE_STRING),
            },
        ),
    )
    def post(self, request, *args, **kwargs):
        name = request.data.get('name')
        email = request.data.get('email')
        # 处理相关逻辑
        return Response('OK', status=status.HTTP_200_OK)

在上述示例中,TYPE_STRING用于定义nameemail两个参数为字符串类型。通过使用openapi.Schema来定义请求体的参数类型。

在上面的代码片段中,定义了一个使用TYPE_STRINGnameemail参数,这两个参数都是字符串类型。可以在请求体中使用这两个参数。

例如,通过向API发送以下请求:

POST /api/sample/

Request Body:
{
  "name": "John Doe",
  "email": "john@example.com"
}

这将导致在SampleAPIView中的post方法中,nameemail参数将作为字符串类型的值进行解析和使用。

希望以上解释对你有所帮助。