我刚刚开始在我的 API 文档中使用 swagger。我关注了这些docs ,但超过一半的网址被 swagger 排除了。
如下图所示,它显示了一些 url,但很少有 url 被排除,并且 swagger 显示的 url 不包含完整功能,例如没有正文部分来测试端点。如果您点击尝试一下!,它将发送带有空白参数的请求(没有用于编辑请求参数的正文)。
下面是我的网址文件。
我使用了 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"}]}
最佳答案
- 所有网址均未映射: 以上是由于 get_schema() 函数中传递的请求参数造成的,如果您删除请求,您的问题将得到解决。
schemaValidationMessages
- 这是由于域名无效,一旦我使用 localhost,就可以在 Intranet 中访问该域名,问题得到解决。
我在 swagger github repo 上提出了类似的问题,因此有关更多信息,请参阅 swagger git repo 上的这个问题:
https://github.com/marcgibbons/django-rest-swagger/issues/562
关于django - 将 swagger 与 Django Rest Framework 结合使用时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998345/