是否可以生成一个包含 application/json和x-www-form-urlencoded 请求主体的示例的招摇的 UI 页面(以及重做)?我可以获取 application/json 的示例,但在选择 x-www-form-urlencoded 作为 swagger/redoc UI 的请求类型时不能。
我将以下装饰器用于“创建”方法(在 ModelViewSet 中)
@extend_schema(request=MySerializer)
其中 MySerializer 如下所示...
@extend_schema_serializer(
examples=[
OpenApiExample(
'Example input',
description='Creation of an alias',
value={
'user_id': 1234567890,
'obj_id': 288,
'alias': 'my alias'
},
request_only=True,
response_only=False,
),
],
)
class MySerializer(serializers.Serializer):
user_id = serializers.IntegerField()
obj_id = serializers.IntegerField()
alias = serializers.CharField(max_length=50)
swagger/redocs UI 很乐意为应用程序/json 请求正文提供一个带有“示例输入”的示例 dropbox(选择示例将填充 json),但对于 x-www-form-urlencoded 将只显示一个要填写的表单在,没有示例 Dropbox 以填充字段。
我可以获得查询字符串的示例(及其选择下拉框),即在制作使用 OpenApiParameter 的 GET 端点时,例如
@extend_schema(
parameters=[
OpenApiParameter(name='q', description='Query string to search for', required=True, type=str,
examples=[
OpenApiExample(
'Search query',
value='foobar'
),
]
),
...
]
)
选择一个下拉框条目将填充文本字段。
但是,对于 x-www-form-urlencoded,这似乎没有生成?
这可能吗?难道我做错了什么?