1

我可以在不使用@extend_schema 装饰器中的序列化程序类的情况下在drf_spectacular中创建 JSON 标头的自定义描述吗?

4

1 回答 1

1

你可以用inline_serializer做到这一点:

OpenApiParameter(
    name='X-Api-Version',
    type=inline_serializer(
        "JsonHeader",
        fields={
            "a": serializers.CharField,
            "b": serializers.CharField,
        }
    ),
    location=OpenApiParameter.HEADER,
),

或自己编写原始模式:


OpenApiParameter(
    name='bbox',
    type={'type': 'object', 'properties': {'a': {}, 'b': {}}, 'required': ['a', 'b']},
    location=OpenApiParameter.HEADER,
)

您可能还想查看 的styleexplode参数以OpenApiParameter获得更细粒度的控制。

于 2021-11-01T15:53:45.550 回答