【问题标题】:Issues with using swagger with Django Rest Framework在 Django Rest Framework 中使用 swagger 的问题
【发布时间】:2017-02-21 05:46:07
【问题描述】:

我刚开始在我的 API 文档中使用 swagger。我关注了这些 docs ,但超过一半的网址被大摇大摆地排除在外。

如下图所示,它显示了一些 url,但很少有 url 被排除在外,并且 swagger 显示的 url 不包括完整的功能,例如没有用于测试端点的正文部分。如果您点击 Try it out!,它将发送带有空白参数的请求(没有正文可编辑请求参数)。

下面是我的网址文件。

我使用include() 包含我的应用程序 url 可能是这个原因,但它如何显示一些 url 并排除一些。

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"}]}

【问题讨论】:

  • 我切换到使用 Swagger UI 并手动记录 API,这并不费力
  • 我有同样的问题,我想我会走你走的同一条路。可以手动添加和编辑 coreapi.Document 对象并从中生成架构。如果有人为此找到解决方案,请给出您的答案。
  • @Erika 在 github repo 上使用这个问题,我问了他的问题,问题已经解决。 github.com/marcgibbons/django-rest-swagger/issues/562
  • @Erika 我也回答了我的问题,希望对您有所帮助

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


【解决方案1】:

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

  • schemaValidationMessages - 这是由于域无效,只要我使用 localhost,就可以在 Intranet 中访问该域,问题得到解决。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    • 2014-06-05
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多