Java OpenAPI 3/Spring Boot@RequestPart不是可选的
我在API中创建上传路径时有点问题。 例如:Java OpenAPI 3/Spring Boot@RequestPart不是可选的,java,rest,spring-boot,openapi-generator,Java,Rest,Spring Boot,Openapi Generator,我在API中创建上传路径时有点问题。 例如: /test/upload: post: operationId: post form attachemnts requestBody: content: multipart/form-data: schema: type: object required:
/test/upload:
post:
operationId: post form attachemnts
requestBody:
content:
multipart/form-data:
schema:
type: object
required:
- testId
properties:
testId:
type: string
example: 1
document:
type: string
format: binary
我想发送testId(必需-这是可以的),但我的文档(jpg、pdf)必须是可选的
openapi生成器maven插件创建的一段代码:4.2.3:
@RequestParam(value="testId", required=true) String testId,@ApiParam(value = "") @Valid @RequestPart("document") MultipartFile document
当我在邮递员处寄出一封只有填好的证明的邮件时,我收到:
“所需的请求部分‘文档’不存在”
我认为问题出在部分@RequestPart(“document”)多部分文件文档中,生成的正确代码应该是这样的@RequestPart(value=“document”,required=false)多部分文件文档。但如何做到这一点
在Swagger Editor、OpenAPI 3.0.2、SB 2.2.1.RELEASE中创建的文档
声明的依赖项:
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>okhttp</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp</groupId>
<artifactId>logging-interceptor</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.2</version>
</dependency>
<dependency>
<groupId>org.openapitools</groupId>
<artifactId>jackson-databind-nullable</artifactId>
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<type>jar</type>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>io.gsonfire</groupId>
<artifactId>gson-fire</artifactId>
<version>1.7.1</version>
</dependency>
</dependencies>
昂首阔步
招摇过市的注解
1.6.0
com.squareup.okhttp
okhttp
2.7.5
com.squareup.okhttp
日志拦截器
2.7.5
com.google.code.gson
格森
2.8.6
乔达时间
乔达时间
2.10.5
com.fasterxml.jackson.core
杰克逊注释
2.10.2
com.fasterxml.jackson.core
杰克逊数据绑定
2.10.2
org.openapitools
jackson数据绑定可为空
0.2.1
javax.validation
验证api
罐子
1.1.0.1最终版本
javax.annotation
javax.annotation-api
1.3.2
三十
三个十个基点
1.4.1
io.gsonfire
格森火灾
1.7.1
这在此处报告,并在5.x.x