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用于定义name和email两个参数为字符串类型。通过使用openapi.Schema来定义请求体的参数类型。
在上面的代码片段中,定义了一个使用TYPE_STRING的name和email参数,这两个参数都是字符串类型。可以在请求体中使用这两个参数。
例如,通过向API发送以下请求:
POST /api/sample/
Request Body:
{
"name": "John Doe",
"email": "john@example.com"
}
这将导致在SampleAPIView中的post方法中,name和email参数将作为字符串类型的值进行解析和使用。
希望以上解释对你有所帮助。
