【问题标题】:How do I use swagger-codegen cli with custom template?如何将 swagger-codegen cli 与自定义模板一起使用?
【发布时间】:2022-08-18 21:31:55
【问题描述】:

我想对typescript-fetch template 进行一些调整。

我已经下载了上面链接的 typescript-fetch 文件夹并将其存储在我项目的.\template 文件夹中。我假设我所要做的就是将--template-dir .\template 传递给 CLI,如下所示:

>Java -jar .\bin\swagger-codegen-cli.jar generate -l typescript-fetch -i https://localhost:7113/swagger/v1/swagger.json -o output -Dio.swagger.v3.parser.util.RemoteUrl.trustAll=true --template-dir .\template

但得到以下异常:

07:55:44.212 [Thread-1] INFO  i.s.codegen.v3.AbstractGenerator - writing file c:\projects\trustwell-api-client-ts\output\index.ts
Exception in thread "Thread-1" java.lang.RuntimeException: Could not generate supporting file 'SupportingFile:
        templateFile: api.mustache
        folder:
        destinationFilename: api.ts
'
        at io.swagger.codegen.v3.DefaultGenerator.generateSupportingFiles(DefaultGenerator.java:666)
        at io.swagger.codegen.v3.DefaultGenerator.generate(DefaultGenerator.java:789)
        at io.swagger.codegen.v3.cli.cmd.Generate.run(Generate.java:388)
        at java.lang.Thread.run(Unknown Source)
Caused by: com.github.jknack.handlebars.HandlebarsException: c:\projects\trustwell-api-client-ts\.\template\api.mustache:142:73: found: '-last', expected: 'no viable alternative at input '{{^-last''
                                        ? configuration.accessToken("{{name}}", [{{#scopes}}"{{{scope}}}"{{^-last}}, {{/-last}}{{/scopes}}])
                                                                         ^
        at com.github.jknack.handlebars.internal.HbsErrorReporter.syntaxError(HbsErrorReporter.java:93)
        at com.github.jknack.handlebars.internal.antlr.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
        at com.github.jknack.handlebars.internal.antlr.Parser.notifyErrorListeners(Parser.java:544)
...

似乎 CLI 正在拾取我的文件夹,但我不确定是否还需要做任何其他事情来完成这项工作。

问题:如何使用本地 mustache 模板运行 swagger-codegen CLI?

【问题讨论】:

    标签: swagger-codegen


    【解决方案1】:

    解决方案是使用此处的模板:

    https://github.com/swagger-api/swagger-codegen-generators/tree/master/src/main/resources/handlebars/typescript-fetch

    我不明白这种区别,我怀疑两者可能会在某些时候不同步,但它确实有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-23
      相关资源
      最近更新 更多