如何在 drf_spectacular (django) 中发送带有请求的自定义 JSON headers?

How to send custom JSON headers with requests in drf_spectacular (django)?

我可以在 drf_spectacular 中创建 JSON headers 的自定义描述,而无需在 @extend_schema 装饰器中使用序列化器 class 吗?

你可以用 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,
)

您可能还想查看 OpenApiParameterstyleexplode 参数以获得更精细的控制。