我正在尝试使用Django Swagger Rest API记录Django Rest API,其中我们的API位于与UI不同的服务器上
由于API位于与用户界面不同的服务器上,因此尝试更改curl请求的TryIt now URL
我尝试在get_swagger_view中设置url,但这会将ui url附加在此url之前 我曾尝试在SWAGGER设置中更改base_path,但没有任何效果
答案 0 :(得分:0)
假设您尝试了绝对URL,但它不起作用,另一种方法是自定义生成器,而不是使用get_swagger_view函数。您可以更改所需的任何内容,例如:
from rest_framework import response, schemas
from rest_framework.decorators import api_view, renderer_classes
from rest_framework_swagger.renderers import OpenAPIRenderer, SwaggerUIRenderer
class CustomRenderer(OpenAPIRenderer):
def get_customizations(self):
data = super().get_customizations()
data['host'] = 'yourdomain.com/path'
return data
@api_view()
@renderer_classes([SwaggerUIRenderer, CustomRenderer])
def swagger_view(request):
generator = schemas.SchemaGenerator(title='Your title')
return response.Response(generator.get_schema(request=request))
不要忘记在urls.py中配置此功能:
urlpatterns = [
url(r'docs^$', schema_view)
]