Swagger codegen 生成太长的字符串文字 [英] Swagger codegen generate too long string literals
问题描述
我需要根据提供的 swagger 文件生成类.不幸的是,我对这个文件的内容没有影响.
I need to generate classes based on provided swagger file. Unfortunately I have no influence on content of this file.
我在gladle中的配置如下:
My config in gladle looks like:
task generateApi {
doLast {
def config = new CodegenConfigurator()
config.setInputSpec("file:///$projectDir/$swaggerSourceFile")
config.setOutputDir("$projectDir/$swaggerTargetFolder")
config.setLang('spring')
config.setAdditionalProperties([
'interfaceOnly' : true,
'apiPackage' : 'somepackage',
'modelPackage' : 'somepackage.domain',
'sourceFolder' : '',
'java8' : true,
'dateLibrary' : 'java8',
'skipDefaultInterface': true
])
new DefaultGenerator().opts(config.toClientOptInput()).generate()
}
}
我得到的异常是:错误:常量字符串太长"
Exception which I`m getting is : "error: constant string too long"
问题是即使我设置了'skipDefaultInterface',swagger 也会生成它.在默认接口中,它生成默认响应实体主体,即 json 文件,该文件为 70k 字符长字符串.
Problem is that even I set 'skipDefaultInterface', swagger will generates it. In default interface it generates default response entity body which is json file which is 70k char long string.
请帮忙!
推荐答案
看起来这是 Swagger Codegen 中 spring
生成器的一个已知问题:
https://github.com/swagger-api/swagger-codegen/issues/9055
Looks like this is a known issue with the spring
generator in Swagger Codegen:
https://github.com/swagger-api/swagger-codegen/issues/9055
此问题的 PR 可用,但尚未合并(截至 2020 年 2 月):
https://github.com/swagger-api/swagger-codegen/pull/8691
A PR for this issue is available but not yet merged (as of February 2020):
https://github.com/swagger-api/swagger-codegen/pull/8691
尝试使用 openapi-generator v. 4.2.2 或更高版本,它应该包含一个
Try using openapi-generator v. 4.2.2 or later which is supposed to include a similar fix.
这篇关于Swagger codegen 生成太长的字符串文字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!