问题
I know in a traditional swagger YAML file, we can define the schemes with:
schemes:
- http
- https
//OR
schemes: [http, https]
However, how can I do the same thing with auto-generated swagger page with the drf-yasg
library?
Now, the generated swagger page only contains HTTP
schemes, but HTTPS
is missing. I've tried set the DEFAULT_API_URL
in setting.py
to https://mybaseurl.com
, but it seems not to be working.
回答1:
There is a solution.
When defining get_schema_view() in urls.py
, use this code:
schema_view = get_schema_view(
openapi.Info( ... ),
url='https://example.net/api/v1/', # Important bit
public=True,
permission_classes=(permissions.AllowAny,)
)
Note: You can either use https or http because of that better use this solution with an environment variable for different setups.
回答2:
Put
url='https://your_server_address/'
in the get_schema_view() function with a URL.
来源:https://stackoverflow.com/questions/55568431/how-can-i-configure-https-schemes-with-the-drf-yasg-auto-generated-swagger-pag