无法从http:// localhost:9000 / api-docs /读取swagger JSON

时间:2014-04-23 18:37:55

标签: jhipster swagger-ui

api-docs早先工作正常。它停止了工作,现在我得到了

Can't read swagger JSON from http://localhost:9000/api-docs/

如果我更改src / main / webapp / swagger-ui / index.html

var apiUrl = "http://localhost:8080/swagger-ui/index.html";

我得到"无法从服务器读取。它可能没有适当的访问控制原点设置。"

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,发现生成的类包含com.mycompany.myapp.config.apidoc,但实际上它们位于com.mycompany.myapp.apidoc之下。

您可以通过将java文件移动到正确的包com.mycompany.myapp.config.apidoc来解决此问题。

答案 1 :(得分:0)

通过将gruntfile.js更改为包含在connect / proxies部分中的以下行,查看Jerome对https://github.com/jhipster/generator-jhipster/issues/277的修复

,{
context: '/api-docs',
host: 'localhost',
port: 8080,
https: false,
changeOrigin: false
}

答案 2 :(得分:0)

为此,您必须启用CORS,只需将这3个res.header行添加到您的API中,然后在访问该API时将启用CORS,这样您就不会收到类似访问控制源设置的错误。

app.get('/swaggerJson', function(req, res){  
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With");
  res.header("Access-Control-Allow-Methods", "GET, PUT, POST, OPTIONS");      
  res.json(swaggerJSON);
});

希望这会对你有帮助..