swagger - 使用 swagger codegen 获取“列表”时' 而不是简单的 'byte[]'
问题描述
一个 byte[] 在 swagger 文件中被建模为一个byte[]
. 当使用 swagger codegen 时,我们得到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>
解决方案
问题在于生成 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 标记,其中包含自定义模型转换器位置的路径。
注意:swagger-codegen-maven-plugin 没有变化。
推荐阅读
- android - 如何在 kotlin 中为 getter 属性返回不同的类型
- google-workspace - 为什么我们的 g-suite 市场安装应用程序没有获得适当的范围?
- reactjs - 为什么我的 POST 请求没有到达 Docker 虚拟机中的 Sails 服务器?
- sql - (abs(checksum(newid())) % 100 + 1) / 100 十进制
- glusterfs - 将节点添加到分散的 gluster 集群
- xamarin - 我们如何以 xamarin 形式更改铃声模式
- javascript - 如何在避免全局变量的同时声明定时器?
- django - 链接上的 Selenium .click() 没有给出正确的地址
- gtk - 如何使用 GLib 使平台独立的文件路径斜杠“/”?(GJS)
- php - 在单个查询中插入 1000 行的重复键更新插入