如何在prod配置文件中的jhipster应用程序上启用swagger ui?

时间:2015-11-16 00:42:29

标签: java swagger jhipster

我希望能够在我的jhipster应用程序中看到swagger rest api文档,即使它在prod配置文件下运行。目前它只显示在开发配置文件中,我不确定它的配置位置。

7 个答案:

答案 0 :(得分:2)

Swagger配置位于config/apidoc/SwaggerConfiguration.java

您只需删除排除prod配置文件的行:

@Profile("!"+Constants.SPRING_PROFILE_PRODUCTION)

答案 1 :(得分:2)

在最新版本中,将代码添加到application.prod.yml

配置文件:         包括:swagger

答案 2 :(得分:1)

不,永远不要那样做。请参阅 webapp / app / app.constants.js 文件。运行gulp命令时会自动生成 。如果您想显示Swagger API,请查看该文件。

(function () {
"use strict";
// DO NOT EDIT THIS FILE, EDIT THE GULP TASK NGCONSTANT SETTINGS INSTEAD WHICH GENERATES THIS FILE
angular.module("sosickApp")

.constant("ENV", "dev")

.constant("VERSION", "0.0.1-SNAPSHOT")

;
})();

和gulpfile.js任务:

gulp.task('ngconstant:dev', function () {
return ngConstant({
    dest: 'app.constants.js',
    name: 'sosickApp',
    deps: false,
    noFile: true,
    interpolate: /\{%=(.+?)%\}/g,
    wrap:
        '(function () {\n' +
        '    "use strict";\n' +
        '    // DO NOT EDIT THIS FILE, EDIT THE GULP TASK NGCONSTANT SETTINGS INSTEAD WHICH GENERATES THIS FILE\n' +
        '    {%= __ngModule %}\n' +
        '})();\n',
    constants: {
        ENV: 'dev',
        VERSION: util.parseVersion()
    }
})
.pipe(gulp.dest(config.app + 'app/'));
});
祝你好运!

答案 3 :(得分:1)

对于在这里的每个人来说,都是因为想知道为什么尽管将其设置为正确的readlink -f file.txt配置文件属性(如在swagger中的答案一样),但为什么在heroku安装中未在产品上启用swagger, application-prod.ymlapplication-heroku.yml环境变量,SPRING_PROFILES_ACTIVE自定义环境变量中mvn环境变量中的MAVEN_CUSTOM_OPTS启动参数...

似乎heroku产品运行将使用的实际配置文件位于heroku:config中。因此,在尝试了上述所有可能性之后,我必须更改它。希望此消息可以节省别人的时间。

大张旗鼓地生产产品不是一个好习惯,但实际上可以满足业务需求,因此我们甚至不尝试将其私有化。

答案 4 :(得分:0)

允许最新的JHipster设置显示/隐藏Swagger API。

答案 5 :(得分:0)

在JHipster版本4.5.6中,使用Maven,您可以直接启用swagger配置文件:

  

./ mvnw -Pprod,swagger

使用Gradle,您也可以直接使用这些配置文件:

  

./ gradlew -Pprod -Pswagger

请注意,默认情况下,通过在application.yml中设置spring.profiles.include属性,在prod中禁用swagger配置文件并在dev中启用。

有关详细信息,请参阅jhipster profiles

答案 6 :(得分:0)

也许这还不能解决问题,但是在当前的JHipster上,可以通过命令行args或通过2个文件来启用它:

  • application.yml
spring:
profiles:
    active: dev
    include:
        - swagger
  • application-profile.ts 使用isSwaggerEnabled查找一些行,然后更改为true
      

    isSwaggerEnabled:是

然后,您可以在浏览器上通过/swagger-ui/index.html访问 希望这会有所帮助