使用swagger codegen获得“ List <byte []>”而不是简单的“ byte []”时

时间:2019-01-02 17:48:31

标签: swagger maven-plugin swagger-codegen

byte []在swagger文件中建模为byte[]的数组。使用swagger代码生成器时,我们得到的是List<byte[]>而不是简单的byte[]

Swagger.json

"document": {
    "type": "array",
    "items": 
    {
        "type": "string",
        "format": "byte"
    }
}

pom.xml

<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/swagger.json</inputSpec>
                <language>java</language>
                <configOptions>
                   <sourceFolder>src/gen/java/main</sourceFolder>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

1 个答案:

答案 0 :(得分:0)

问题在于生成swagger.json文件,即maven插件swagger-maven-plugin。 正确的byte [] swagger.json文件应如下所示:

132 Product 
129 Engineering 
127 Legal 
126 Sales 
123 Recruitment 
122 Finance 
122 Research&Development 
119 Operations 
1 Human Resources 
1 Marketing 
0 CTO

为了实现这一点,我们必须完全按照以下链接所示添加自定义ModelConvertors: https://github.com/kongchen/swagger-maven-plugin/issues/422

还要在项目pom文件中添加ModelConvertors标记,并带有自定义modelconvertor位置的路径。

注意:swagger-codegen-maven-plugin不变。