JAVA-32061 Upgrade spring-rest-simple to Spring Boot 3 (#16160)
This commit is contained in:
parent
846396c6f7
commit
da0dec8e13
@ -10,9 +10,9 @@
|
|||||||
|
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.baeldung</groupId>
|
<groupId>com.baeldung</groupId>
|
||||||
<artifactId>parent-boot-2</artifactId>
|
<artifactId>parent-boot-3</artifactId>
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<relativePath>../../parent-boot-2</relativePath>
|
<relativePath>../../parent-boot-3</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
@ -59,26 +59,16 @@
|
|||||||
<version>${spring-oxm.version}</version>
|
<version>${spring-oxm.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-fileupload</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>commons-fileupload</artifactId>
|
<artifactId>commons-fileupload2-jakarta</artifactId>
|
||||||
<version>${commons-fileupload.version}</version>
|
<version>${commons-fileupload.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- web -->
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.servlet</groupId>
|
<groupId>org.apache.commons</groupId>
|
||||||
<artifactId>javax.servlet-api</artifactId>
|
<artifactId>commons-fileupload2-jakarta-servlet6</artifactId>
|
||||||
<scope>provided</scope>
|
<version>${commons-fileupload2-jakarta-servlet6.version}</version>
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>javax.servlet</groupId>
|
|
||||||
<artifactId>jstl</artifactId>
|
|
||||||
<scope>runtime</scope>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- marshalling -->
|
<!-- marshalling -->
|
||||||
<dependency>
|
|
||||||
<groupId>com.fasterxml.jackson.core</groupId>
|
|
||||||
<artifactId>jackson-databind</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
||||||
<artifactId>jackson-dataformat-xml</artifactId>
|
<artifactId>jackson-dataformat-xml</artifactId>
|
||||||
@ -88,6 +78,11 @@
|
|||||||
<artifactId>xstream</artifactId>
|
<artifactId>xstream</artifactId>
|
||||||
<version>${xstream.version}</version>
|
<version>${xstream.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>jakarta.xml.bind</groupId>
|
||||||
|
<artifactId>jakarta.xml.bind-api</artifactId>
|
||||||
|
<version>${jakarta.xml.bind-api.version}</version>
|
||||||
|
</dependency>
|
||||||
<!-- util -->
|
<!-- util -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.guava</groupId>
|
<groupId>com.google.guava</groupId>
|
||||||
@ -110,9 +105,10 @@
|
|||||||
<artifactId>spring-test</artifactId>
|
<artifactId>spring-test</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.jayway.restassured</groupId>
|
<groupId>io.rest-assured</groupId>
|
||||||
<artifactId>rest-assured</artifactId>
|
<artifactId>rest-assured</artifactId>
|
||||||
<version>${jayway-rest-assured.version}</version>
|
<version>${rest-assured.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.protobuf</groupId>
|
<groupId>com.google.protobuf</groupId>
|
||||||
@ -273,7 +269,6 @@
|
|||||||
<protobuf-java-format.version>1.4</protobuf-java-format.version>
|
<protobuf-java-format.version>1.4</protobuf-java-format.version>
|
||||||
<protobuf-java.version>3.1.0</protobuf-java.version>
|
<protobuf-java.version>3.1.0</protobuf-java.version>
|
||||||
<xstream.version>1.4.9</xstream.version>
|
<xstream.version>1.4.9</xstream.version>
|
||||||
<jayway-rest-assured.version>2.9.0</jayway-rest-assured.version>
|
|
||||||
<spring-oxm.version>6.1.4</spring-oxm.version>
|
<spring-oxm.version>6.1.4</spring-oxm.version>
|
||||||
<!-- Maven plugins -->
|
<!-- Maven plugins -->
|
||||||
<cargo-maven2-plugin.version>1.6.0</cargo-maven2-plugin.version>
|
<cargo-maven2-plugin.version>1.6.0</cargo-maven2-plugin.version>
|
||||||
@ -281,6 +276,11 @@
|
|||||||
<!-- okhttp -->
|
<!-- okhttp -->
|
||||||
<com.squareup.okhttp3.version>4.12.0</com.squareup.okhttp3.version>
|
<com.squareup.okhttp3.version>4.12.0</com.squareup.okhttp3.version>
|
||||||
<json.path.version>2.2.0</json.path.version>
|
<json.path.version>2.2.0</json.path.version>
|
||||||
|
<commons-fileupload.version>2.0.0-M1</commons-fileupload.version>
|
||||||
|
<rest-assured.version>5.4.0</rest-assured.version>
|
||||||
|
<jakarta.xml.bind-api.version>2.3.2</jakarta.xml.bind-api.version>
|
||||||
|
<commons-fileupload2-jakarta-servlet6.version>2.0.0-M2</commons-fileupload2-jakarta-servlet6.version>
|
||||||
|
<httpclient5.version>5.3.1</httpclient5.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
</project>
|
</project>
|
@ -1,39 +1,36 @@
|
|||||||
package com.baeldung.apachefileupload;
|
package com.baeldung.apachefileupload;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import org.apache.commons.fileupload2.core.FileItem;
|
||||||
import org.apache.commons.fileupload.FileItem;
|
import org.apache.commons.fileupload2.core.FileItemInput;
|
||||||
import org.apache.commons.fileupload.FileItemIterator;
|
import org.apache.commons.fileupload2.core.FileItemInputIterator;
|
||||||
import org.apache.commons.fileupload.FileItemStream;
|
import org.apache.commons.fileupload2.core.DiskFileItemFactory;
|
||||||
import org.apache.commons.fileupload.FileUploadException;
|
import org.apache.commons.fileupload2.jakarta.servlet6.JakartaServletFileUpload;
|
||||||
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
|
|
||||||
import org.apache.commons.fileupload.servlet.ServletFileUpload;
|
|
||||||
import org.apache.commons.fileupload.util.Streams;
|
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class UploadController {
|
public class UploadController {
|
||||||
|
|
||||||
@RequestMapping(value = "/upload", method = RequestMethod.POST)
|
@RequestMapping(value = "/upload", method = RequestMethod.POST)
|
||||||
public String handleUpload(HttpServletRequest request) {
|
public String handleUpload(HttpServletRequest request) {
|
||||||
System.out.println(System.getProperty("java.io.tmpdir"));
|
System.out.println(System.getProperty("java.io.tmpdir"));
|
||||||
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
|
boolean isMultipart = JakartaServletFileUpload.isMultipartContent(request);
|
||||||
// Create a factory for disk-based file items
|
// Create a factory for disk-based file items
|
||||||
DiskFileItemFactory factory = new DiskFileItemFactory();
|
DiskFileItemFactory factory = DiskFileItemFactory.builder().get();
|
||||||
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
|
|
||||||
factory.setSizeThreshold(DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD);
|
|
||||||
factory.setFileCleaningTracker(null);
|
|
||||||
// Configure a repository (to ensure a secure temp location is used)
|
// Configure a repository (to ensure a secure temp location is used)
|
||||||
ServletFileUpload upload = new ServletFileUpload(factory);
|
JakartaServletFileUpload upload = new JakartaServletFileUpload(factory);
|
||||||
try {
|
try {
|
||||||
// Parse the request
|
// Parse the request
|
||||||
List<FileItem> items = upload.parseRequest(request);
|
List<FileItem> items = upload.parseRequest(request);
|
||||||
@ -51,21 +48,21 @@ public class UploadController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Parse the request with Streaming API
|
// Parse the request with Streaming API
|
||||||
upload = new ServletFileUpload();
|
upload = new JakartaServletFileUpload();
|
||||||
FileItemIterator iterStream = upload.getItemIterator(request);
|
FileItemInputIterator iterStream = upload.getItemIterator(request);
|
||||||
while (iterStream.hasNext()) {
|
while (iterStream.hasNext()) {
|
||||||
FileItemStream item = iterStream.next();
|
FileItemInput item = iterStream.next();
|
||||||
String name = item.getFieldName();
|
String name = item.getFieldName();
|
||||||
InputStream stream = item.openStream();
|
InputStream stream = item.getInputStream();
|
||||||
if (!item.isFormField()) {
|
if (!item.isFormField()) {
|
||||||
//Process the InputStream
|
//Process the InputStream
|
||||||
} else {
|
} else {
|
||||||
//process form fields
|
//process form fields
|
||||||
String formFieldValue = Streams.asString(stream);
|
String formFieldValue = IOUtils.toString(stream, StandardCharsets.UTF_8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "success!";
|
return "success!";
|
||||||
} catch (IOException | FileUploadException ex) {
|
} catch (IOException ex) {
|
||||||
return "failed: " + ex.getMessage();
|
return "failed: " + ex.getMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.baeldung.web.util;
|
package com.baeldung.web.util;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides some constants and utility methods to build a Link Header to be stored in the {@link HttpServletResponse} object
|
* Provides some constants and utility methods to build a Link Header to be stored in the {@link HttpServletResponse} object
|
||||||
|
@ -5,7 +5,7 @@ import static org.hamcrest.Matchers.equalTo;
|
|||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
import com.jayway.restassured.RestAssured;
|
import io.restassured.RestAssured;
|
||||||
|
|
||||||
public class RequestMappingLiveTest {
|
public class RequestMappingLiveTest {
|
||||||
private static String BASE_URI = "http://localhost:8082/spring-rest/ex/";
|
private static String BASE_URI = "http://localhost:8082/spring-rest/ex/";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user