使用play-swagger存储库无法在localhost中看到swagger json

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用play-swagger存储库无法在localhost中看到swagger json相关的知识,希望对你有一定的参考价值。

我已经完成了github文档中提到的所有内容:

添加插件:

addSbtPlugin("com.iheart" %% "sbt-play-swagger" % "0.7.3")

添加到我的根:

lazy val root = (project in file(".")).enablePlugins(PlayScala, SwaggerPlugin) //enable plugin

添加了一个基础swagger.yaml

添加了库:

libraryDependencies += "org.webjars" % "swagger-ui" % "2.2.0"

将这些添加到我的路线:

### NoDocs ###
GET   /docs/swagger-ui/*file        controllers.Assets.at(path:String="/public/lib/swagger-ui", file:String)

### NoDocs ###
GET   /assets/*file                 controllers.Assets.versioned(path="/public", file: Asset)

并在我的路线上添加了一些招摇的注释。

现在,当我运行应用程序并去http://localhost:9000/docs/swagger-ui/index.html?url=/assets/swagger.json我应该看到的东西,我所看到的只是一个绿屏......

enter image description here

太奇怪了,文档中是否缺少某些内容?

答案

根据你的play-swagger版本看起来你正在使用Play 2.6。此版本的Play默认情况下会引入Content Security Policy (CSP)标头。有一个已知的issue与Play 2.6的CSP标题和戏剧招摇。

如果您查看浏览器控制台,您应该会看到记录的一些CSP错误。如果是这种情况,您可能需要通过在disable the headers文件中添加以下内容来application.conf

play.filters.headers.contentSecurityPolicy = null

我们正在开发一个improvement来播放Play内容安全策略标头,以便像play-swagger这样的第三方库将来可以更加无缝地工作。

以上是关于使用play-swagger存储库无法在localhost中看到swagger json的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Spring 云配置服务器连接到本地存储库窗口

无法访问存储库https://macos.rbind.org/src/contrib的索引

cPanel 中的 GIT 存储库连接失败

WebSVN 权限问题

spring config server- 用于本地 git 存储库

如何使用 FIND 递归备份多个颠覆存储库