使用Swagger与Django Rest Framework的问题

时间:2016-10-12 12:14:26

标签: django rest swagger swagger-ui django-swagger

我刚开始使用swagger来获取我的API文档。我跟着这些docs,但超过一半的网址被招摇。

正如您在下面的图片中看到的那样,它显示了一些网址但排除了少量网址,并且swagger显示的网址不包含完整功能,例如没有正文部分来测试终点。如果您点击试一试!,它会发送带空白参数的请求(没有正文编辑请求参数)。

以下是我的网址文件。

我已经使用include()来包含我的应用网址可能是原因,但后来它是如何显示一些网址并排除一些网址。

urlpatterns = [
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),

    url(r'^api/v3/', include('identify.routers_v3', namespace='v3')),

    # swagger schema url
    url(r'^docs/', schema_view), 

]

我还检查了控制台,控制台中没有错误。我也在使用djnago rest APIView

我在swagger浏览器界面中遇到的错误是

{"schemaValidationMessages":[{"level":"error","message":"Can't read from file http://local.app.in:8000/docs/?format=openapi"}]}

enter image description here

1 个答案:

答案 0 :(得分:2)

- 未映射所有网址:以上是由于get_schema()函数中传递的请求参数,如果删除请求,您的问题将得到修复。

  • schemaValidationMessages - 这是由于域名无效,一旦我使用localhost就可以在Intranet中访问该域,问题得到修复。

我已经在swagger github repo上提出了类似的问题,所以有关更多信息,请参阅swagger git repo上的这个问题:

https://github.com/marcgibbons/django-rest-swagger/issues/562