当使用swagger codegen获取'List '而不仅仅是'byte []'

问题描述 投票:1回答:1

一个byte []在swagger文件中建模为byte[]数组。当使用swagger codegen时,我们得到List<byte[]>而不是简单的byte[]

Swagger.json

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

pom.hml

<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>
swagger maven-plugin swagger-codegen
1个回答
0
投票

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

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

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

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

注意:swagger-codegen-maven-plugin没有变化。

© www.soinside.com 2019 - 2024. All rights reserved.