The*_*der 5 java swagger spring-boot openapi swagger-3.0
在使用 Swagger 3 OpenAPI 的 Spring Boot 项目中。
有一个文件POST为 的方法。MultipartRequestPart
理想情况下,swagger-ui它应该要求文件上传,但仅将文件显示为String.
请帮助我上传文件而String不是swagger-ui.
我的RestController:
@RestController
public class HelloController {
@RequestMapping(method = RequestMethod.GET, value = "/api")
public String sayHello() {
return "Swagger Hello World";
}
@RequestMapping(method = RequestMethod.POST, value = "/fileUpload")
public String fileUpload(
@RequestPart(value = "file", required = false ) MultipartFile file,
@RequestPart(value = "userName", required = false ) String userName
) {
return "added successfully";
}
}
Run Code Online (Sandbox Code Playgroud)
文件pom.xml:
<modelVersion>4.0.0</modelVersion>
<groupId>com.poc</groupId>
<artifactId>springboot-swagger-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.6.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
在swagger-ui:
consumes= MediaType.MULTIPART_FORM_DATA_VALUE在请求映射中添加:@RequestMapping(method = RequestMethod.POST, value = "/fileUpload",
consumes= MediaType.MULTIPART_FORM_DATA_VALUE)
public String fileUpload(
@RequestPart(value = "file", required = false ) MultipartFile file,
@RequestPart(value = "userName", required = false ) String userName
) {
return "added successfully";
}
Run Code Online (Sandbox Code Playgroud)
输出见下图:
| 归档时间: |
|
| 查看次数: |
4291 次 |
| 最近记录: |