赞
踩
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.qwfys.sample</groupId> <artifactId>upload-sample</artifactId> <version>0.0.1-SNAPSHOT</version> <name>upload-sample</name> <description>upload-sample</description> <properties> <java.version>17</java.version> <swagger.starter.version>1.9.1.RELEASE</swagger.starter.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId> <version>2.0.3</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project>
package com.qwfys.sample.upload.base.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.servers.Server; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.List; @Configuration public class OpenAPIConfig { @Value("${app.openapi.dev-url}") private String devUrl; @Value("${app.openapi.prod-url}") private String prodUrl; @Bean public OpenAPI myOpenAPI() { Server devServer = new Server(); devServer.setUrl(devUrl); devServer.setDescription("Server URL in Development environment"); Server prodServer = new Server(); prodServer.setUrl(prodUrl); prodServer.setDescription("Server URL in Production environment"); Contact contact = new Contact(); contact.setEmail("qwfys200@qq.com"); contact.setName("qwfys200"); contact.setUrl("https://www.qwfys.com"); License mitLicense = new License().name("MIT License").url("https://choosealicense.com/licenses/mit/"); Info info = new Info() .title("Tutorial Management API") .version("1.0") .contact(contact) .description("This API exposes endpoints to manage tutorials.").termsOfService("https://www.bezkoder.com/terms") .license(mitLicense); return new OpenAPI().info(info).servers(List.of(devServer, prodServer)); } }
package com.qwfys.sample.upload.controller; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @Tag(name = "Tutorial", description = "Tutorial management APIs") @RestController public class FileUploadController { private static final Logger logger = LoggerFactory.getLogger(FileUploadController.class); @RequestMapping(value = "/uploadMultiFiles", consumes = {"multipart/form-data"}, method = RequestMethod.POST) public String uploads(@RequestPart(required = true) MultipartFile[] files) { logger.info("File Upload:{}", files); return "sucessfull"; } @RequestMapping(value = "/uploadMultiFile", consumes = {"multipart/form-data"}, method = RequestMethod.POST) public String uploads(@RequestPart(required = true) MultipartFile file) { logger.info("File Upload:{}", file); return "sucessfull"; } }
spring:
servlet:
multipart:
max-file-size: 5MB
max-request-size: 5MB
enabled: true
location: ${java.io.tmpdir}
app:
openapi:
dev-url: http://localhost:8080
prod-url: https://api.qwfys.com/sample
- Manage upload/download of files using REST and Spring Boot
- Spring Boot File upload example with Multipart File
- Spring Boot + Swagger 3 example (with OpenAPI 3)
- Swagger 3 annotations in Spring Boot
- Setting up Swagger 3 With Spring Boot
- Springfox Reference Documentation
- How to run Swagger 3 on Spring Boot 3
- Swagger UI 3 Setup with Spring Boot Application
- Uploading Multiple Files with Springfox and Swagger-UI
- Spring Boot Example for Uploading Swagger Files
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。