How to add reference Parameters in extend_schema decorator in drf-spectacular
I'm using drf-spectacular to generate the swagger/redoc API documentation.
I am facing issue in customising the schemas generated. I am trying to generate reference parameter using @extend_schema decorators in drf_spectacular but did'nt get the expected schema.
extend_schema -
`
from drf_spectacular.utils import extend_schema
@extend_schema(
parameters=headerParam,
responses = {200:Response1,400:errorresponse},
tags = ['User'],
)`
headerParam -
`headerParam = [
OpenApiParameter(
name='Accept-Language',
location=OpenApiParameter.HEADER,
type=OpenApiTypes.STR,
description='ISO 2 Letter Language Code',
required=True,
enum=['en', 'ar'],
# default='en',
),
OpenApiParameter(
name='Accept',
location=OpenApiParameter.HEADER,
type=OpenApiTypes.STR,
description='Type of response you are expecting from API. i.e. (application/json)',
required=True,
default='application/json',
),
]`
The problem I am facing is the schema in drf_spectacular is generating this as below -
`"parameters": [
{
"in": "header",
"name": "Accept",
"schema": {
"type": "string",
"default": "application/json"
},
"description": "Type of response you are expecting from API. i.e (application/json)",
"required": true
},
{
"in": "header",
"name": "Accept-Language",
"schema": {
"type": "string",
"enum": [
"ar",
"en"
]
},
"description": "ISO 2 Letter Language Code",
"required": true
}
],`
I want to generate like this -
"parameters": [
{
"$ref": "#/components/parameters/Accept"
},
{
"$ref": "#/components/parameters/Accept-Language"
}
],`
Thank you and Appreciate for the help in Advance :)
I have done R&D but didn't find anything related to this.