diff --git a/spring-rest-full/README.md b/spring-rest-full/README.md
index a0ba8df27d..df7856725f 100644
--- a/spring-rest-full/README.md
+++ b/spring-rest-full/README.md
@@ -12,8 +12,6 @@ The "Learn Spring Security" Classes: http://github.learnspringsecurity.com
- [Integration Testing with the Maven Cargo plugin](https://www.baeldung.com/integration-testing-with-the-maven-cargo-plugin)
- [Project Configuration with Spring](https://www.baeldung.com/project-configuration-with-spring)
- [Metrics for your Spring REST API](https://www.baeldung.com/spring-rest-api-metrics)
-- [Spring Security Expressions - hasRole Example](https://www.baeldung.com/spring-security-expressions-basic)
-
### Build the Project
```
diff --git a/spring-rest/README.md b/spring-rest/README.md
index ac12066e8f..af054b2dcf 100644
--- a/spring-rest/README.md
+++ b/spring-rest/README.md
@@ -10,16 +10,11 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
- [Returning Custom Status Codes from Spring Controllers](https://www.baeldung.com/spring-mvc-controller-custom-http-status-code)
- [Binary Data Formats in a Spring REST API](https://www.baeldung.com/spring-rest-api-with-binary-data-formats)
- [Guide to UriComponentsBuilder in Spring](https://www.baeldung.com/spring-uricomponentsbuilder)
-- [Introduction to FindBugs](https://www.baeldung.com/intro-to-findbugs)
- [A Custom Media Type for a Spring REST API](https://www.baeldung.com/spring-rest-custom-media-type)
- [HTTP PUT vs HTTP PATCH in a REST API](https://www.baeldung.com/http-put-patch-difference-spring)
- [Spring – Log Incoming Requests](https://www.baeldung.com/spring-http-logging)
-- [Introduction to CheckStyle](https://www.baeldung.com/checkstyle-java)
- [How to Change the Default Port in Spring Boot](https://www.baeldung.com/spring-boot-change-port)
- [Guide to DeferredResult in Spring](https://www.baeldung.com/spring-deferred-result)
- [Spring Custom Property Editor](https://www.baeldung.com/spring-mvc-custom-property-editor)
-- [Using the Spring RestTemplate Interceptor](https://www.baeldung.com/spring-rest-template-interceptor)
-- [Get and Post Lists of Objects with RestTemplate](https://www.baeldung.com/spring-rest-template-list)
- [How to Set a Header on a Response with Spring 5](https://www.baeldung.com/spring-response-header)
-- [Uploading MultipartFile with Spring RestTemplate](https://www.baeldung.com/spring-rest-template-multipart-upload)
- [Download an Image or a File with Spring MVC](https://www.baeldung.com/spring-controller-return-image-file)
diff --git a/spring-rest/pom.xml b/spring-rest/pom.xml
index 93160a9936..fce04a8f2d 100644
--- a/spring-rest/pom.xml
+++ b/spring-rest/pom.xml
@@ -20,10 +20,7 @@
org.springframework.boot
spring-boot-starter-web
-
- org.springframework.boot
- spring-boot-starter-thymeleaf
-
+
org.springframework.boot
spring-boot-starter-actuator
@@ -141,11 +138,7 @@
commons-io
${commons-io.version}
-
- au.com.dius
- pact-jvm-provider-junit_2.11
- ${pact.version}
-
+
io.rest-assured
rest-assured
@@ -176,21 +169,7 @@
org.apache.maven.plugins
maven-war-plugin
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- ${checkstyle-maven-plugin.version}
-
- checkstyle.xml
-
-
-
-
- check
-
-
-
-
+
@@ -250,18 +229,7 @@
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- ${checkstyle-maven-plugin.version}
-
- checkstyle.xml
-
-
-
-
+
1.3.2
@@ -275,7 +243,7 @@
1.6.0
3.0.4
- 3.0.0
+
false
2.2.0
diff --git a/spring-resttemplate/README.md b/spring-resttemplate/README.md
index 82d8234908..054071a4df 100644
--- a/spring-resttemplate/README.md
+++ b/spring-resttemplate/README.md
@@ -13,4 +13,7 @@ The "REST With Spring" Classes: http://bit.ly/restwithspring
- [Mocking a RestTemplate in Spring](https://www.baeldung.com/spring-mock-rest-template)
- [RestTemplate Post Request with JSON](https://www.baeldung.com/spring-resttemplate-post-json)
- [Download a Large File Through a Spring RestTemplate](https://www.baeldung.com/spring-resttemplate-download-large-file)
+- [Using the Spring RestTemplate Interceptor](https://www.baeldung.com/spring-rest-template-interceptor)
+- [Uploading MultipartFile with Spring RestTemplate](https://www.baeldung.com/spring-rest-template-multipart-upload)
+- [Get and Post Lists of Objects with RestTemplate](https://www.baeldung.com/spring-rest-template-list)
- [Copy of RestTemplate Post Request with JSON](https://www.baeldung.com/spring-resttemplate-post-json-test)
diff --git a/spring-resttemplate/pom.xml b/spring-resttemplate/pom.xml
index ae5cfed4c9..26a3143d6d 100644
--- a/spring-resttemplate/pom.xml
+++ b/spring-resttemplate/pom.xml
@@ -21,6 +21,10 @@
org.springframework.boot
spring-boot-starter-actuator
+
+ org.springframework.boot
+ spring-boot-starter-thymeleaf
+
org.springframework.boot
spring-boot-devtools
@@ -32,7 +36,13 @@
org.springframework.boot
spring-boot-starter-test
- test
+
+
+
+
+ au.com.dius
+ pact-jvm-provider-junit_2.11
+ ${pact.version}
@@ -111,11 +121,13 @@
+
junit
junit
- test
+ 4.12
+
org.hamcrest
hamcrest-core
@@ -295,6 +307,7 @@
3.4.1
+ 3.5.11
diff --git a/spring-rest/src/test/java/com/baeldung/SpringContextIntegrationTest.java b/spring-resttemplate/src/main/java/com/baeldung/SpringContextIntegrationTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/SpringContextIntegrationTest.java
rename to spring-resttemplate/src/main/java/com/baeldung/SpringContextIntegrationTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/SpringContextTest.java b/spring-resttemplate/src/main/java/com/baeldung/SpringContextTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/SpringContextTest.java
rename to spring-resttemplate/src/main/java/com/baeldung/SpringContextTest.java
diff --git a/spring-rest/src/main/java/com/baeldung/changeport/CustomApplication.java b/spring-resttemplate/src/main/java/com/baeldung/changeport/CustomApplication.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/changeport/CustomApplication.java
rename to spring-resttemplate/src/main/java/com/baeldung/changeport/CustomApplication.java
diff --git a/spring-rest/src/main/java/com/baeldung/changeport/ServerPortCustomizer.java b/spring-resttemplate/src/main/java/com/baeldung/changeport/ServerPortCustomizer.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/changeport/ServerPortCustomizer.java
rename to spring-resttemplate/src/main/java/com/baeldung/changeport/ServerPortCustomizer.java
diff --git a/spring-rest/src/main/java/com/baeldung/produceimage/ImageApplication.java b/spring-resttemplate/src/main/java/com/baeldung/produceimage/ImageApplication.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/produceimage/ImageApplication.java
rename to spring-resttemplate/src/main/java/com/baeldung/produceimage/ImageApplication.java
diff --git a/spring-rest/src/main/java/com/baeldung/produceimage/controller/DataProducerController.java b/spring-resttemplate/src/main/java/com/baeldung/produceimage/controller/DataProducerController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/produceimage/controller/DataProducerController.java
rename to spring-resttemplate/src/main/java/com/baeldung/produceimage/controller/DataProducerController.java
diff --git a/spring-rest/src/main/java/com/baeldung/propertyeditor/PropertyEditorApplication.java b/spring-resttemplate/src/main/java/com/baeldung/propertyeditor/PropertyEditorApplication.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/propertyeditor/PropertyEditorApplication.java
rename to spring-resttemplate/src/main/java/com/baeldung/propertyeditor/PropertyEditorApplication.java
diff --git a/spring-rest/src/main/java/com/baeldung/propertyeditor/PropertyEditorRestController.java b/spring-resttemplate/src/main/java/com/baeldung/propertyeditor/PropertyEditorRestController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/propertyeditor/PropertyEditorRestController.java
rename to spring-resttemplate/src/main/java/com/baeldung/propertyeditor/PropertyEditorRestController.java
diff --git a/spring-rest/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCard.java b/spring-resttemplate/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCard.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCard.java
rename to spring-resttemplate/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCard.java
diff --git a/spring-rest/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCardEditor.java b/spring-resttemplate/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCardEditor.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCardEditor.java
rename to spring-resttemplate/src/main/java/com/baeldung/propertyeditor/creditcard/CreditCardEditor.java
diff --git a/spring-rest/src/main/java/com/baeldung/propertyeditor/exotictype/editor/CustomExoticTypeEditor.java b/spring-resttemplate/src/main/java/com/baeldung/propertyeditor/exotictype/editor/CustomExoticTypeEditor.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/propertyeditor/exotictype/editor/CustomExoticTypeEditor.java
rename to spring-resttemplate/src/main/java/com/baeldung/propertyeditor/exotictype/editor/CustomExoticTypeEditor.java
diff --git a/spring-rest/src/main/java/com/baeldung/propertyeditor/exotictype/model/ExoticType.java b/spring-resttemplate/src/main/java/com/baeldung/propertyeditor/exotictype/model/ExoticType.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/propertyeditor/exotictype/model/ExoticType.java
rename to spring-resttemplate/src/main/java/com/baeldung/propertyeditor/exotictype/model/ExoticType.java
diff --git a/spring-rest/src/main/java/com/baeldung/responseheaders/ResponseHeadersApplication.java b/spring-resttemplate/src/main/java/com/baeldung/responseheaders/ResponseHeadersApplication.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/responseheaders/ResponseHeadersApplication.java
rename to spring-resttemplate/src/main/java/com/baeldung/responseheaders/ResponseHeadersApplication.java
diff --git a/spring-rest/src/main/java/com/baeldung/responseheaders/controllers/FilterResponseHeaderController.java b/spring-resttemplate/src/main/java/com/baeldung/responseheaders/controllers/FilterResponseHeaderController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/responseheaders/controllers/FilterResponseHeaderController.java
rename to spring-resttemplate/src/main/java/com/baeldung/responseheaders/controllers/FilterResponseHeaderController.java
diff --git a/spring-rest/src/main/java/com/baeldung/responseheaders/controllers/ResponseHeaderController.java b/spring-resttemplate/src/main/java/com/baeldung/responseheaders/controllers/ResponseHeaderController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/responseheaders/controllers/ResponseHeaderController.java
rename to spring-resttemplate/src/main/java/com/baeldung/responseheaders/controllers/ResponseHeaderController.java
diff --git a/spring-rest/src/main/java/com/baeldung/responseheaders/filter/AddResponseHeaderFilter.java b/spring-resttemplate/src/main/java/com/baeldung/responseheaders/filter/AddResponseHeaderFilter.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/responseheaders/filter/AddResponseHeaderFilter.java
rename to spring-resttemplate/src/main/java/com/baeldung/responseheaders/filter/AddResponseHeaderFilter.java
diff --git a/spring-rest/src/main/java/com/baeldung/resttemplate/lists/EmployeeApplication.java b/spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/EmployeeApplication.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/resttemplate/lists/EmployeeApplication.java
rename to spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/EmployeeApplication.java
diff --git a/spring-rest/src/main/java/com/baeldung/resttemplate/lists/client/EmployeeClient.java b/spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/client/EmployeeClient.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/resttemplate/lists/client/EmployeeClient.java
rename to spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/client/EmployeeClient.java
diff --git a/spring-rest/src/main/java/com/baeldung/resttemplate/lists/controller/EmployeeResource.java b/spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/controller/EmployeeResource.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/resttemplate/lists/controller/EmployeeResource.java
rename to spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/controller/EmployeeResource.java
diff --git a/spring-rest/src/main/java/com/baeldung/resttemplate/lists/dto/Employee.java b/spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/dto/Employee.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/resttemplate/lists/dto/Employee.java
rename to spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/dto/Employee.java
diff --git a/spring-rest/src/main/java/com/baeldung/resttemplate/lists/dto/EmployeeList.java b/spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/dto/EmployeeList.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/resttemplate/lists/dto/EmployeeList.java
rename to spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/dto/EmployeeList.java
diff --git a/spring-rest/src/main/java/com/baeldung/resttemplate/lists/service/EmployeeService.java b/spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/service/EmployeeService.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/resttemplate/lists/service/EmployeeService.java
rename to spring-resttemplate/src/main/java/com/baeldung/resttemplate/lists/service/EmployeeService.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/config/MainApplication.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/config/MainApplication.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/config/MainApplication.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/config/MainApplication.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/config/RestClientConfig.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/config/RestClientConfig.java
similarity index 97%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/config/RestClientConfig.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/config/RestClientConfig.java
index 8abc368bdb..cbaa21f4ca 100644
--- a/spring-rest/src/main/java/com/baeldung/sampleapp/config/RestClientConfig.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/config/RestClientConfig.java
@@ -1,29 +1,29 @@
-package com.baeldung.sampleapp.config;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.ClientHttpRequestInterceptor;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.client.RestTemplate;
-
-import com.baeldung.sampleapp.interceptors.RestTemplateHeaderModifierInterceptor;
-
-@Configuration
-public class RestClientConfig {
-
- @Bean
- public RestTemplate restTemplate() {
- RestTemplate restTemplate = new RestTemplate();
-
- List interceptors = restTemplate.getInterceptors();
- if (CollectionUtils.isEmpty(interceptors)) {
- interceptors = new ArrayList();
- }
- interceptors.add(new RestTemplateHeaderModifierInterceptor());
- restTemplate.setInterceptors(interceptors);
- return restTemplate;
- }
-}
+package com.baeldung.sampleapp.config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.client.RestTemplate;
+
+import com.baeldung.sampleapp.interceptors.RestTemplateHeaderModifierInterceptor;
+
+@Configuration
+public class RestClientConfig {
+
+ @Bean
+ public RestTemplate restTemplate() {
+ RestTemplate restTemplate = new RestTemplate();
+
+ List interceptors = restTemplate.getInterceptors();
+ if (CollectionUtils.isEmpty(interceptors)) {
+ interceptors = new ArrayList();
+ }
+ interceptors.add(new RestTemplateHeaderModifierInterceptor());
+ restTemplate.setInterceptors(interceptors);
+ return restTemplate;
+ }
+}
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/config/WebConfig.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/config/WebConfig.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/config/WebConfig.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/config/WebConfig.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/interceptors/RestTemplateHeaderModifierInterceptor.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/interceptors/RestTemplateHeaderModifierInterceptor.java
similarity index 97%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/interceptors/RestTemplateHeaderModifierInterceptor.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/interceptors/RestTemplateHeaderModifierInterceptor.java
index 519e5ebf0d..9ebe1553a5 100644
--- a/spring-rest/src/main/java/com/baeldung/sampleapp/interceptors/RestTemplateHeaderModifierInterceptor.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/interceptors/RestTemplateHeaderModifierInterceptor.java
@@ -1,18 +1,18 @@
-package com.baeldung.sampleapp.interceptors;
-
-import java.io.IOException;
-
-import org.springframework.http.HttpRequest;
-import org.springframework.http.client.ClientHttpRequestExecution;
-import org.springframework.http.client.ClientHttpRequestInterceptor;
-import org.springframework.http.client.ClientHttpResponse;
-
-public class RestTemplateHeaderModifierInterceptor implements ClientHttpRequestInterceptor {
-
- @Override
- public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
- ClientHttpResponse response = execution.execute(request, body);
- response.getHeaders().add("Foo", "bar");
- return response;
- }
-}
+package com.baeldung.sampleapp.interceptors;
+
+import java.io.IOException;
+
+import org.springframework.http.HttpRequest;
+import org.springframework.http.client.ClientHttpRequestExecution;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
+import org.springframework.http.client.ClientHttpResponse;
+
+public class RestTemplateHeaderModifierInterceptor implements ClientHttpRequestInterceptor {
+
+ @Override
+ public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
+ ClientHttpResponse response = execution.execute(request, body);
+ response.getHeaders().add("Foo", "bar");
+ return response;
+ }
+}
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/repository/HeavyResourceRepository.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/repository/HeavyResourceRepository.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/repository/HeavyResourceRepository.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/repository/HeavyResourceRepository.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/BarMappingExamplesController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/BarMappingExamplesController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/BarMappingExamplesController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/BarMappingExamplesController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/CompanyController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/CompanyController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/CompanyController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/CompanyController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/DeferredResultController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/DeferredResultController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/DeferredResultController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/DeferredResultController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/HeavyResourceController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/HeavyResourceController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/HeavyResourceController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/HeavyResourceController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/ItemController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/ItemController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/ItemController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/ItemController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/MyFooController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/MyFooController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/MyFooController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/MyFooController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/PactController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/PactController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/PactController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/PactController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/SimplePostController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/SimplePostController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/SimplePostController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/SimplePostController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/mediatypes/CustomMediaTypeController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/mediatypes/CustomMediaTypeController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/mediatypes/CustomMediaTypeController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/mediatypes/CustomMediaTypeController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/redirect/RedirectController.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/redirect/RedirectController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/controller/redirect/RedirectController.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/controller/redirect/RedirectController.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItem.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItem.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItem.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItem.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItemV2.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItemV2.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItemV2.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/BaeldungItemV2.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Company.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Company.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Company.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Company.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Foo.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Foo.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Foo.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Foo.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResource.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResource.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResource.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResource.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressOnly.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressOnly.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressOnly.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressOnly.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressPartialUpdate.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressPartialUpdate.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressPartialUpdate.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/HeavyResourceAddressPartialUpdate.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Item.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Item.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Item.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Item.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/ItemManager.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/ItemManager.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/ItemManager.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/ItemManager.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/PactDto.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/PactDto.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/PactDto.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/PactDto.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Views.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Views.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/dto/Views.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/dto/Views.java
diff --git a/spring-rest/src/main/java/com/baeldung/sampleapp/web/exception/ResourceNotFoundException.java b/spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/exception/ResourceNotFoundException.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/sampleapp/web/exception/ResourceNotFoundException.java
rename to spring-resttemplate/src/main/java/com/baeldung/sampleapp/web/exception/ResourceNotFoundException.java
diff --git a/spring-rest/src/main/java/com/baeldung/transfer/LoginForm.java b/spring-resttemplate/src/main/java/com/baeldung/transfer/LoginForm.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/transfer/LoginForm.java
rename to spring-resttemplate/src/main/java/com/baeldung/transfer/LoginForm.java
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/app/Application.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/app/Application.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/web/log/app/Application.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/app/Application.java
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/app/TaxiFareRequestInterceptor.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/app/TaxiFareRequestInterceptor.java
similarity index 97%
rename from spring-rest/src/main/java/com/baeldung/web/log/app/TaxiFareRequestInterceptor.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/app/TaxiFareRequestInterceptor.java
index b154f3665f..2ea0204dc3 100644
--- a/spring-rest/src/main/java/com/baeldung/web/log/app/TaxiFareRequestInterceptor.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/web/log/app/TaxiFareRequestInterceptor.java
@@ -1,44 +1,44 @@
-package com.baeldung.web.log.app;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
-import org.springframework.web.util.ContentCachingRequestWrapper;
-
-import com.baeldung.web.log.util.RequestLoggingUtil;
-
-@Component
-public class TaxiFareRequestInterceptor extends HandlerInterceptorAdapter {
-
- private final static Logger LOGGER = LoggerFactory.getLogger(TaxiFareRequestInterceptor.class);
-
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- String postData;
- HttpServletRequest requestCacheWrapperObject = null;
- try {
- // Uncomment to produce the stream closed issue
- // postData = RequestLoggingUtil.getStringFromInputStream(request.getInputStream());
-
- // To overcome request stream closed issue
- requestCacheWrapperObject = new ContentCachingRequestWrapper(request);
- requestCacheWrapperObject.getParameterMap();
- } catch (Exception exception) {
- exception.printStackTrace();
- } finally {
- postData = RequestLoggingUtil.readPayload(requestCacheWrapperObject);
- LOGGER.info("REQUEST DATA: " + postData);
- }
- return true;
- }
-
- @Override
- public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
- LOGGER.info("RESPONSE: " + response.getStatus());
- }
-
-}
+package com.baeldung.web.log.app;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+import org.springframework.web.util.ContentCachingRequestWrapper;
+
+import com.baeldung.web.log.util.RequestLoggingUtil;
+
+@Component
+public class TaxiFareRequestInterceptor extends HandlerInterceptorAdapter {
+
+ private final static Logger LOGGER = LoggerFactory.getLogger(TaxiFareRequestInterceptor.class);
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+ String postData;
+ HttpServletRequest requestCacheWrapperObject = null;
+ try {
+ // Uncomment to produce the stream closed issue
+ // postData = RequestLoggingUtil.getStringFromInputStream(request.getInputStream());
+
+ // To overcome request stream closed issue
+ requestCacheWrapperObject = new ContentCachingRequestWrapper(request);
+ requestCacheWrapperObject.getParameterMap();
+ } catch (Exception exception) {
+ exception.printStackTrace();
+ } finally {
+ postData = RequestLoggingUtil.readPayload(requestCacheWrapperObject);
+ LOGGER.info("REQUEST DATA: " + postData);
+ }
+ return true;
+ }
+
+ @Override
+ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
+ LOGGER.info("RESPONSE: " + response.getStatus());
+ }
+
+}
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/config/CustomeRequestLoggingFilter.java
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/config/RequestLoggingFilterConfig.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/config/RequestLoggingFilterConfig.java
similarity index 97%
rename from spring-rest/src/main/java/com/baeldung/web/log/config/RequestLoggingFilterConfig.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/config/RequestLoggingFilterConfig.java
index bc9ad1cf84..85728729d5 100644
--- a/spring-rest/src/main/java/com/baeldung/web/log/config/RequestLoggingFilterConfig.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/web/log/config/RequestLoggingFilterConfig.java
@@ -1,20 +1,20 @@
-package com.baeldung.web.log.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.filter.CommonsRequestLoggingFilter;
-
-@Configuration
-public class RequestLoggingFilterConfig {
-
- @Bean
- public CommonsRequestLoggingFilter logFilter() {
- CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
- filter.setIncludeQueryString(true);
- filter.setIncludePayload(true);
- filter.setMaxPayloadLength(10000);
- filter.setIncludeHeaders(false);
- filter.setAfterMessagePrefix("REQUEST DATA : ");
- return filter;
- }
-}
+package com.baeldung.web.log.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.filter.CommonsRequestLoggingFilter;
+
+@Configuration
+public class RequestLoggingFilterConfig {
+
+ @Bean
+ public CommonsRequestLoggingFilter logFilter() {
+ CommonsRequestLoggingFilter filter = new CommonsRequestLoggingFilter();
+ filter.setIncludeQueryString(true);
+ filter.setIncludePayload(true);
+ filter.setMaxPayloadLength(10000);
+ filter.setIncludeHeaders(false);
+ filter.setAfterMessagePrefix("REQUEST DATA : ");
+ return filter;
+ }
+}
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/config/TaxiFareMVCConfig.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/config/TaxiFareMVCConfig.java
similarity index 97%
rename from spring-rest/src/main/java/com/baeldung/web/log/config/TaxiFareMVCConfig.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/config/TaxiFareMVCConfig.java
index 8f1a000acc..fb0c1d1d48 100644
--- a/spring-rest/src/main/java/com/baeldung/web/log/config/TaxiFareMVCConfig.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/web/log/config/TaxiFareMVCConfig.java
@@ -1,19 +1,19 @@
-package com.baeldung.web.log.config;
-
-import com.baeldung.web.log.app.TaxiFareRequestInterceptor;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-@Configuration
-public class TaxiFareMVCConfig implements WebMvcConfigurer {
-
- @Autowired
- private TaxiFareRequestInterceptor taxiFareRequestInterceptor;
-
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- registry.addInterceptor(taxiFareRequestInterceptor).addPathPatterns("/**/taxifare/**/");
- }
-}
+package com.baeldung.web.log.config;
+
+import com.baeldung.web.log.app.TaxiFareRequestInterceptor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+@Configuration
+public class TaxiFareMVCConfig implements WebMvcConfigurer {
+
+ @Autowired
+ private TaxiFareRequestInterceptor taxiFareRequestInterceptor;
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(taxiFareRequestInterceptor).addPathPatterns("/**/taxifare/**/");
+ }
+}
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/controller/TaxiFareController.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/controller/TaxiFareController.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/web/log/controller/TaxiFareController.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/controller/TaxiFareController.java
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/data/RateCard.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/data/RateCard.java
similarity index 95%
rename from spring-rest/src/main/java/com/baeldung/web/log/data/RateCard.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/data/RateCard.java
index c7955b561b..e486d6b1f7 100644
--- a/spring-rest/src/main/java/com/baeldung/web/log/data/RateCard.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/web/log/data/RateCard.java
@@ -1,31 +1,31 @@
-package com.baeldung.web.log.data;
-
-public class RateCard {
-
- private String nightSurcharge;
- private String ratePerMile;
-
- public RateCard() {
- nightSurcharge = "Extra $ 100";
- ratePerMile = "$ 10 Per Mile";
- }
-
-
- public String getNightSurcharge() {
- return nightSurcharge;
- }
-
- public void setNightSurcharge(String nightSurcharge) {
- this.nightSurcharge = nightSurcharge;
- }
-
- public String getRatePerMile() {
- return ratePerMile;
- }
-
- public void setRatePerMile(String ratePerMile) {
- this.ratePerMile = ratePerMile;
- }
-
-
-}
+package com.baeldung.web.log.data;
+
+public class RateCard {
+
+ private String nightSurcharge;
+ private String ratePerMile;
+
+ public RateCard() {
+ nightSurcharge = "Extra $ 100";
+ ratePerMile = "$ 10 Per Mile";
+ }
+
+
+ public String getNightSurcharge() {
+ return nightSurcharge;
+ }
+
+ public void setNightSurcharge(String nightSurcharge) {
+ this.nightSurcharge = nightSurcharge;
+ }
+
+ public String getRatePerMile() {
+ return ratePerMile;
+ }
+
+ public void setRatePerMile(String ratePerMile) {
+ this.ratePerMile = ratePerMile;
+ }
+
+
+}
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/data/TaxiRide.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/data/TaxiRide.java
similarity index 95%
rename from spring-rest/src/main/java/com/baeldung/web/log/data/TaxiRide.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/data/TaxiRide.java
index 2e0f33f02b..6089c51996 100644
--- a/spring-rest/src/main/java/com/baeldung/web/log/data/TaxiRide.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/web/log/data/TaxiRide.java
@@ -1,33 +1,33 @@
-package com.baeldung.web.log.data;
-
-public class TaxiRide {
-
- private Boolean isNightSurcharge;
- private Long distanceInMile;
-
- public TaxiRide() {
- }
-
- public TaxiRide(Boolean isNightSurcharge, Long distanceInMile) {
- this.isNightSurcharge = isNightSurcharge;
- this.distanceInMile = distanceInMile;
- }
-
-
- public Boolean getIsNightSurcharge() {
- return isNightSurcharge;
- }
-
- public void setIsNightSurcharge(Boolean isNightSurcharge) {
- this.isNightSurcharge = isNightSurcharge;
- }
-
- public Long getDistanceInMile() {
- return distanceInMile;
- }
-
- public void setDistanceInMile(Long distanceInMile) {
- this.distanceInMile = distanceInMile;
- }
-
-}
+package com.baeldung.web.log.data;
+
+public class TaxiRide {
+
+ private Boolean isNightSurcharge;
+ private Long distanceInMile;
+
+ public TaxiRide() {
+ }
+
+ public TaxiRide(Boolean isNightSurcharge, Long distanceInMile) {
+ this.isNightSurcharge = isNightSurcharge;
+ this.distanceInMile = distanceInMile;
+ }
+
+
+ public Boolean getIsNightSurcharge() {
+ return isNightSurcharge;
+ }
+
+ public void setIsNightSurcharge(Boolean isNightSurcharge) {
+ this.isNightSurcharge = isNightSurcharge;
+ }
+
+ public Long getDistanceInMile() {
+ return distanceInMile;
+ }
+
+ public void setDistanceInMile(Long distanceInMile) {
+ this.distanceInMile = distanceInMile;
+ }
+
+}
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/service/TaxiFareCalculatorService.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/service/TaxiFareCalculatorService.java
similarity index 96%
rename from spring-rest/src/main/java/com/baeldung/web/log/service/TaxiFareCalculatorService.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/service/TaxiFareCalculatorService.java
index 1176b31e4c..52a1698865 100644
--- a/spring-rest/src/main/java/com/baeldung/web/log/service/TaxiFareCalculatorService.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/web/log/service/TaxiFareCalculatorService.java
@@ -1,14 +1,14 @@
-package com.baeldung.web.log.service;
-
-import com.baeldung.web.log.data.TaxiRide;
-import org.springframework.stereotype.Service;
-
-@Service
-public class TaxiFareCalculatorService {
-
- public String calculateFare(TaxiRide taxiRide) {
- return String.valueOf((Long) (taxiRide.getIsNightSurcharge()
- ? taxiRide.getDistanceInMile() * 10 + 100
- : taxiRide.getDistanceInMile() * 10));
- }
-}
+package com.baeldung.web.log.service;
+
+import com.baeldung.web.log.data.TaxiRide;
+import org.springframework.stereotype.Service;
+
+@Service
+public class TaxiFareCalculatorService {
+
+ public String calculateFare(TaxiRide taxiRide) {
+ return String.valueOf((Long) (taxiRide.getIsNightSurcharge()
+ ? taxiRide.getDistanceInMile() * 10 + 100
+ : taxiRide.getDistanceInMile() * 10));
+ }
+}
diff --git a/spring-rest/src/main/java/com/baeldung/web/log/util/RequestLoggingUtil.java b/spring-resttemplate/src/main/java/com/baeldung/web/log/util/RequestLoggingUtil.java
similarity index 97%
rename from spring-rest/src/main/java/com/baeldung/web/log/util/RequestLoggingUtil.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/log/util/RequestLoggingUtil.java
index c13d35b55c..70c4eaee90 100644
--- a/spring-rest/src/main/java/com/baeldung/web/log/util/RequestLoggingUtil.java
+++ b/spring-resttemplate/src/main/java/com/baeldung/web/log/util/RequestLoggingUtil.java
@@ -1,38 +1,38 @@
-package com.baeldung.web.log.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.commons.io.IOUtils;
-import org.springframework.web.util.ContentCachingRequestWrapper;
-import org.springframework.web.util.WebUtils;
-
-public class RequestLoggingUtil {
-
- public static String getStringFromInputStream(InputStream is) {
- StringWriter writer = new StringWriter();
- String encoding = "UTF-8";
- try {
- IOUtils.copy(is, writer, encoding);
- } catch (IOException e) {
- e.printStackTrace();
- }
- return writer.toString();
- }
-
- public static String readPayload(final HttpServletRequest request) throws IOException {
- String payloadData = null;
- ContentCachingRequestWrapper contentCachingRequestWrapper = WebUtils.getNativeRequest(request, ContentCachingRequestWrapper.class);
- if (null != contentCachingRequestWrapper) {
- byte[] buf = contentCachingRequestWrapper.getContentAsByteArray();
- if (buf.length > 0) {
- payloadData = new String(buf, 0, buf.length, contentCachingRequestWrapper.getCharacterEncoding());
- }
- }
- return payloadData;
- }
-
-}
+package com.baeldung.web.log.util;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.io.IOUtils;
+import org.springframework.web.util.ContentCachingRequestWrapper;
+import org.springframework.web.util.WebUtils;
+
+public class RequestLoggingUtil {
+
+ public static String getStringFromInputStream(InputStream is) {
+ StringWriter writer = new StringWriter();
+ String encoding = "UTF-8";
+ try {
+ IOUtils.copy(is, writer, encoding);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return writer.toString();
+ }
+
+ public static String readPayload(final HttpServletRequest request) throws IOException {
+ String payloadData = null;
+ ContentCachingRequestWrapper contentCachingRequestWrapper = WebUtils.getNativeRequest(request, ContentCachingRequestWrapper.class);
+ if (null != contentCachingRequestWrapper) {
+ byte[] buf = contentCachingRequestWrapper.getContentAsByteArray();
+ if (buf.length > 0) {
+ payloadData = new String(buf, 0, buf.length, contentCachingRequestWrapper.getCharacterEncoding());
+ }
+ }
+ return payloadData;
+ }
+
+}
diff --git a/spring-rest/src/main/java/com/baeldung/web/upload/app/UploadApplication.java b/spring-resttemplate/src/main/java/com/baeldung/web/upload/app/UploadApplication.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/web/upload/app/UploadApplication.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/upload/app/UploadApplication.java
diff --git a/spring-rest/src/main/java/com/baeldung/web/upload/client/MultipartFileUploadClient.java b/spring-resttemplate/src/main/java/com/baeldung/web/upload/client/MultipartFileUploadClient.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/web/upload/client/MultipartFileUploadClient.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/upload/client/MultipartFileUploadClient.java
diff --git a/spring-rest/src/main/java/com/baeldung/web/upload/controller/FileServerResource.java b/spring-resttemplate/src/main/java/com/baeldung/web/upload/controller/FileServerResource.java
similarity index 100%
rename from spring-rest/src/main/java/com/baeldung/web/upload/controller/FileServerResource.java
rename to spring-resttemplate/src/main/java/com/baeldung/web/upload/controller/FileServerResource.java
diff --git a/spring-rest/src/test/java/com/baeldung/pact/PactProviderLiveTest.java b/spring-resttemplate/src/test/java/com/baeldung/pact/PactProviderLiveTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/pact/PactProviderLiveTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/pact/PactProviderLiveTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/propertyeditor/creditcard/CreditCardEditorUnitTest.java b/spring-resttemplate/src/test/java/com/baeldung/propertyeditor/creditcard/CreditCardEditorUnitTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/propertyeditor/creditcard/CreditCardEditorUnitTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/propertyeditor/creditcard/CreditCardEditorUnitTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/resttemplate/RestTemplateLiveTest.java b/spring-resttemplate/src/test/java/com/baeldung/resttemplate/RestTemplateLiveTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/resttemplate/RestTemplateLiveTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/resttemplate/RestTemplateLiveTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/web/controller/HeavyResourceControllerIntegrationTest.java b/spring-resttemplate/src/test/java/com/baeldung/web/controller/HeavyResourceControllerIntegrationTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/web/controller/HeavyResourceControllerIntegrationTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/web/controller/HeavyResourceControllerIntegrationTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java b/spring-resttemplate/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/web/controller/TaxiFareControllerIntegrationTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerIntegrationTest.java b/spring-resttemplate/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerIntegrationTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerIntegrationTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerIntegrationTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerLiveTest.java b/spring-resttemplate/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerLiveTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerLiveTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/web/controller/mediatypes/CustomMediaTypeControllerLiveTest.java
diff --git a/spring-rest/src/test/java/com/baeldung/web/controller/mediatypes/TestConfig.java b/spring-resttemplate/src/test/java/com/baeldung/web/controller/mediatypes/TestConfig.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/web/controller/mediatypes/TestConfig.java
rename to spring-resttemplate/src/test/java/com/baeldung/web/controller/mediatypes/TestConfig.java
diff --git a/spring-rest/src/test/java/com/baeldung/web/controller/redirect/RedirectControllerIntegrationTest.java b/spring-resttemplate/src/test/java/com/baeldung/web/controller/redirect/RedirectControllerIntegrationTest.java
similarity index 100%
rename from spring-rest/src/test/java/com/baeldung/web/controller/redirect/RedirectControllerIntegrationTest.java
rename to spring-resttemplate/src/test/java/com/baeldung/web/controller/redirect/RedirectControllerIntegrationTest.java
diff --git a/spring-security-rest/README.md b/spring-security-rest/README.md
index d61a52070c..00bc2a1403 100644
--- a/spring-security-rest/README.md
+++ b/spring-security-rest/README.md
@@ -15,3 +15,4 @@ The "Learn Spring Security" Classes: http://github.learnspringsecurity.com
- [Servlet 3 Async Support with Spring MVC and Spring Security](https://www.baeldung.com/spring-mvc-async-security)
- [Intro to Spring Security Expressions](https://www.baeldung.com/spring-security-expressions)
- [Spring Security for a REST API](https://www.baeldung.com/securing-a-restful-web-service-with-spring-security)
+- [Spring Security Expressions - hasRole Example](https://www.baeldung.com/spring-security-expressions-basic)
diff --git a/testing-modules/testing-libraries/README.md b/testing-modules/testing-libraries/README.md
index 7191989224..d76b7b1308 100644
--- a/testing-modules/testing-libraries/README.md
+++ b/testing-modules/testing-libraries/README.md
@@ -6,5 +6,7 @@
- [Cucumber and Scenario Outline](http://www.baeldung.com/cucumber-scenario-outline)
- [Cucumber Java 8 Support](http://www.baeldung.com/cucumber-java-8-support)
- [Introduction to Lambda Behave](http://www.baeldung.com/lambda-behave)
+- [Introduction to CheckStyle](https://www.baeldung.com/checkstyle-java)
+- [Introduction to FindBugs](https://www.baeldung.com/intro-to-findbugs)
diff --git a/spring-rest/checkstyle.xml b/testing-modules/testing-libraries/checkstyle.xml
similarity index 100%
rename from spring-rest/checkstyle.xml
rename to testing-modules/testing-libraries/checkstyle.xml
diff --git a/testing-modules/testing-libraries/pom.xml b/testing-modules/testing-libraries/pom.xml
index 7891ebbf6d..0838e81d14 100644
--- a/testing-modules/testing-libraries/pom.xml
+++ b/testing-modules/testing-libraries/pom.xml
@@ -35,11 +35,60 @@
${cucumber.version}
test
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ 2.2.0.RELEASE
+
+
+
+ testing-libraries
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ ${checkstyle-maven-plugin.version}
+
+ checkstyle.xml
+
+
+
+
+ check
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ ${checkstyle-maven-plugin.version}
+
+ checkstyle.xml
+
+
+
+
+
0.4
1.2.5
+ 3.0.0
diff --git a/testing-modules/testing-libraries/src/main/java/com/baeldung/sampleapp/web/controller/SimplePostController.java b/testing-modules/testing-libraries/src/main/java/com/baeldung/sampleapp/web/controller/SimplePostController.java
new file mode 100644
index 0000000000..7b57d35088
--- /dev/null
+++ b/testing-modules/testing-libraries/src/main/java/com/baeldung/sampleapp/web/controller/SimplePostController.java
@@ -0,0 +1,74 @@
+package com.baeldung.sampleapp.web.controller;
+
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import com.baeldung.sampleapp.web.dto.Foo;
+
+// used to test HttpClientPostingTest
+@RestController
+public class SimplePostController {
+
+ @RequestMapping(value = "/users", method = RequestMethod.POST)
+ public String postUser(@RequestParam final String username, @RequestParam final String password) {
+ return "Success" + username;
+ }
+
+ @RequestMapping(value = "/users/detail", method = RequestMethod.POST)
+ public String postUserDetail(@RequestBody final Foo entity) {
+ return "Success" + entity.getId();
+ }
+
+ @RequestMapping(value = "/users/multipart", method = RequestMethod.POST)
+ public String uploadFile(@RequestParam final String username, @RequestParam final String password, @RequestParam("file") final MultipartFile file) {
+ if (!file.isEmpty()) {
+ try {
+ final DateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_HH.mm.ss");
+ final String fileName = dateFormat.format(new Date());
+ final File fileServer = new File(fileName);
+ fileServer.createNewFile();
+ final byte[] bytes = file.getBytes();
+ final BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(fileServer));
+ stream.write(bytes);
+ stream.close();
+ return "You successfully uploaded " + username;
+ } catch (final Exception e) {
+ return "You failed to upload " + e.getMessage();
+ }
+ } else {
+ return "You failed to upload because the file was empty.";
+ }
+ }
+
+ @RequestMapping(value = "/users/upload", method = RequestMethod.POST)
+ public String postMultipart(@RequestParam("file") final MultipartFile file) {
+ if (!file.isEmpty()) {
+ try {
+ final DateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd_HH.mm.ss");
+ final String fileName = dateFormat.format(new Date());
+ final File fileServer = new File(fileName);
+ fileServer.createNewFile();
+ final byte[] bytes = file.getBytes();
+ final BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(fileServer));
+ stream.write(bytes);
+ stream.close();
+ return "You successfully uploaded ";
+ } catch (final Exception e) {
+ return "You failed to upload " + e.getMessage();
+ }
+ } else {
+ return "You failed to upload because the file was empty.";
+ }
+ }
+}
diff --git a/testing-modules/testing-libraries/src/main/java/com/baeldung/sampleapp/web/dto/Foo.java b/testing-modules/testing-libraries/src/main/java/com/baeldung/sampleapp/web/dto/Foo.java
new file mode 100644
index 0000000000..de1d76ed92
--- /dev/null
+++ b/testing-modules/testing-libraries/src/main/java/com/baeldung/sampleapp/web/dto/Foo.java
@@ -0,0 +1,42 @@
+package com.baeldung.sampleapp.web.dto;
+
+public class Foo {
+ private long id;
+ private String name;
+
+ public Foo() {
+ super();
+ }
+
+ public Foo(final String name) {
+ super();
+
+ this.name = name;
+ }
+
+ public Foo(final long id, final String name) {
+ super();
+
+ this.id = id;
+ this.name = name;
+ }
+
+ // API
+
+ public long getId() {
+ return id;
+ }
+
+ public void setId(final long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+}
\ No newline at end of file