如何在Swagger中使用自定义模板

哥布林人

我的模板中有这个JavaJaxRs字典:

/templates/JavaJaxRs

我编辑了其中一些。并希望将其用于我的API生成(代码是从https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen-maven-plugin/src/main的这种方法启发而来的/java/io/swagger/codegen/plugin/CodeGenMojo.java):

    System.out.println("Generating API for: " + location);
    DefaultGenerator generator = new DefaultGenerator();
    Swagger swagger = new SwaggerParser().read(location);
    CodegenConfig config = CodegenConfigLoader.forName(this.language);
    config.setOutputDir(new File(this.apiGeneratedSrcPath).getPath());

    if (null != templateDirectory) {
        config.additionalProperties().put(TEMPLATE_DIR_PARAM, templateDirectory);
    }
    if (null != modelPackage) {
        config.additionalProperties().put(MODEL_PACKAGE_PARAM, modelPackage);
    }
    if (null != apiPackage) {
        config.additionalProperties().put(API_PACKAGE_PARAM, apiPackage);
    }
    if (null != invokerPackage) {
        config.additionalProperties().put(INVOKER_PACKAGE_PARAM, invokerPackage);
    }

    if (configOptions != null) {
        for (CliOption langCliOption : config.cliOptions()) {
            if (configOptions.containsKey(langCliOption.getOpt())) {
                config.additionalProperties().put(langCliOption.getOpt(),
                        configOptions.get(langCliOption.getOpt()));
            }
        }
    }

    if (null != configurationFile) {
        Config genConfig = ConfigParser.read(configurationFile);
        if (null != genConfig) {
            for (CliOption langCliOption : config.cliOptions()) {
                if (genConfig.hasOption(langCliOption.getOpt())) {
                    config.additionalProperties().put(langCliOption.getOpt(), genConfig.getOption(langCliOption.getOpt()));
                }
            }
        } else {
            throw new RuntimeException("Unable to read configuration file");
        }
    }

    ClientOptInput input = new ClientOptInput().opts(new ClientOpts()).swagger(swagger);
    input.setConfig(config);

    generator.opts(input).generate();

我总是以某种方式获得用标准模板文件生成的代码。

更新:

当我没记错的时候,我有一个条件错误:

if(null != templateDirectory)
    config.additionalProperties().put(TEMPLATE_DIR_PARAM, templateDirectory);

或其他条件正确的地方,代码按预期工作。

我让问题留在这里,也许会对其他用户有所帮助。

费吉

您可以像以下方式获得代码生成器的帮助选项:

java -jar swagger-codegen-cli.jar help generate

应该告诉您可以使用以下-t参数覆盖模板位置

java -java swagger-codegen-cli.jar generate -l {language} -t path/to/templates

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在模板中使用自定义元素?

来自分类Dev

如何在Gii中使用自定义模板(使用Yii 2)

来自分类Dev

Django-如何在“ if”和“ else”检查中使用自定义模板标签?

来自分类Dev

如何在base.html中使用自定义模板标签

来自分类Dev

如何在Code :: blocks中使用自定义项目模板

来自分类Dev

Wordpress如何在自定义帖子类型中使用主页上的模板

来自分类Dev

Django-如何在视图和模板中使用特定的自定义权限?

来自分类Dev

如何在flask的模板文件中使用python3自定义函数?

来自分类Dev

如何在Hugo中使用自定义输出格式创建易于打印的模板

来自分类Dev

我如何在Zim Wiki中使用自定义模板?

来自分类Dev

如何在Angucomplete-alt中使用自定义模板?

来自分类Dev

如何在电子邮件模板中使用自定义 mailgun 变量?

来自分类Dev

如何在Storyboard中使用自定义UICollectionViewCell?

来自分类Dev

如何在MVC中使用自定义storeId?

来自分类Dev

如何在自定义对象的android中使用ArrayAdapter

来自分类Dev

如何在自定义指令中使用ngChange

来自分类Dev

如何在动态编译中使用自定义类

来自分类Dev

如何在SublimeText中使用自定义字体

来自分类Dev

如何在MSBuild脚本中使用自定义变量?

来自分类Dev

如何在Java中使用自定义类型注释

来自分类Dev

如何在QStateMachine addtransition中使用自定义信号

来自分类Dev

如何在iOS中使用.ttc自定义字体

来自分类Dev

如何在网站中使用自定义字体

来自分类Dev

如何在自定义jQuery函数中使用函数

来自分类Dev

如何在Maven中使用自定义库?

来自分类Dev

如何在Python中使用自定义谓词排序

来自分类Dev

如何在多个ViewController中使用自定义UIAlertview?

来自分类Dev

如何在@require(Greasemonkey)中使用自定义变量

来自分类Dev

如何在自定义类中使用Dask

Related 相关文章

  1. 1

    如何在模板中使用自定义元素?

  2. 2

    如何在Gii中使用自定义模板(使用Yii 2)

  3. 3

    Django-如何在“ if”和“ else”检查中使用自定义模板标签?

  4. 4

    如何在base.html中使用自定义模板标签

  5. 5

    如何在Code :: blocks中使用自定义项目模板

  6. 6

    Wordpress如何在自定义帖子类型中使用主页上的模板

  7. 7

    Django-如何在视图和模板中使用特定的自定义权限?

  8. 8

    如何在flask的模板文件中使用python3自定义函数?

  9. 9

    如何在Hugo中使用自定义输出格式创建易于打印的模板

  10. 10

    我如何在Zim Wiki中使用自定义模板?

  11. 11

    如何在Angucomplete-alt中使用自定义模板?

  12. 12

    如何在电子邮件模板中使用自定义 mailgun 变量?

  13. 13

    如何在Storyboard中使用自定义UICollectionViewCell?

  14. 14

    如何在MVC中使用自定义storeId?

  15. 15

    如何在自定义对象的android中使用ArrayAdapter

  16. 16

    如何在自定义指令中使用ngChange

  17. 17

    如何在动态编译中使用自定义类

  18. 18

    如何在SublimeText中使用自定义字体

  19. 19

    如何在MSBuild脚本中使用自定义变量?

  20. 20

    如何在Java中使用自定义类型注释

  21. 21

    如何在QStateMachine addtransition中使用自定义信号

  22. 22

    如何在iOS中使用.ttc自定义字体

  23. 23

    如何在网站中使用自定义字体

  24. 24

    如何在自定义jQuery函数中使用函数

  25. 25

    如何在Maven中使用自定义库?

  26. 26

    如何在Python中使用自定义谓词排序

  27. 27

    如何在多个ViewController中使用自定义UIAlertview?

  28. 28

    如何在@require(Greasemonkey)中使用自定义变量

  29. 29

    如何在自定义类中使用Dask

热门标签

归档