diff --git a/pom.xml b/pom.xml index 280d051..63cb1c6 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> - <version>2.3.2.RELEASE</version> + <version>2.4.1</version> <relativePath /> <!-- lookup parent from repository --> </parent> diff --git a/spring-lemon-commons-web/src/main/java/com/naturalprogrammer/spring/lemon/commonsweb/LemonCommonsWebAutoConfiguration.java b/spring-lemon-commons-web/src/main/java/com/naturalprogrammer/spring/lemon/commonsweb/LemonCommonsWebAutoConfiguration.java index 6dbd02c..54ebc26 100644 --- a/spring-lemon-commons-web/src/main/java/com/naturalprogrammer/spring/lemon/commonsweb/LemonCommonsWebAutoConfiguration.java +++ b/spring-lemon-commons-web/src/main/java/com/naturalprogrammer/spring/lemon/commonsweb/LemonCommonsWebAutoConfiguration.java @@ -3,9 +3,11 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.naturalprogrammer.spring.lemon.commons.LemonCommonsAutoConfiguration; import com.naturalprogrammer.spring.lemon.commons.LemonProperties; +import com.naturalprogrammer.spring.lemon.commons.exceptions.handlers.BadCredentialsExceptionHandler; import com.naturalprogrammer.spring.lemon.commonsweb.exceptions.DefaultExceptionHandlerControllerAdvice; import com.naturalprogrammer.spring.lemon.commonsweb.exceptions.LemonErrorAttributes; import com.naturalprogrammer.spring.lemon.commonsweb.exceptions.LemonErrorController; +import com.naturalprogrammer.spring.lemon.commonsweb.exceptions.handlers.MissingPathVariableExceptionHandler; import com.naturalprogrammer.spring.lemon.commonsweb.security.LemonCorsConfigurationSource; import com.naturalprogrammer.spring.lemon.commonsweb.security.LemonWebAuditorAware; import com.naturalprogrammer.spring.lemon.commonsweb.security.LemonWebSecurityConfig; @@ -26,6 +28,7 @@ import org.springframework.boot.web.servlet.error.ErrorController; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.data.domain.AuditorAware; import org.springframework.data.web.config.EnableSpringDataWebSupport; @@ -39,6 +42,7 @@ @Configuration @EnableSpringDataWebSupport @EnableGlobalMethodSecurity(prePostEnabled = true) +@ComponentScan(basePackageClasses= MissingPathVariableExceptionHandler.class) @AutoConfigureBefore({ WebMvcAutoConfiguration.class, ErrorMvcAutoConfiguration.class, diff --git a/spring-lemon-commons-web/src/main/java/com/naturalprogrammer/spring/lemon/commonsweb/exceptions/handlers/MissingPathVariableExceptionHandler.java b/spring-lemon-commons-web/src/main/java/com/naturalprogrammer/spring/lemon/commonsweb/exceptions/handlers/MissingPathVariableExceptionHandler.java new file mode 100644 index 0000000..8fac4d7 --- /dev/null +++ b/spring-lemon-commons-web/src/main/java/com/naturalprogrammer/spring/lemon/commonsweb/exceptions/handlers/MissingPathVariableExceptionHandler.java @@ -0,0 +1,28 @@ +package com.naturalprogrammer.spring.lemon.commonsweb.exceptions.handlers; + +import com.naturalprogrammer.spring.lemon.exceptions.LemonFieldError; +import com.naturalprogrammer.spring.lemon.exceptions.MultiErrorException; +import com.naturalprogrammer.spring.lemon.exceptions.handlers.AbstractExceptionHandler; +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.MissingPathVariableException; + +import java.util.Collection; + +@Component +@Order(Ordered.LOWEST_PRECEDENCE) +public class MissingPathVariableExceptionHandler extends AbstractExceptionHandler<MissingPathVariableException> { + + public MissingPathVariableExceptionHandler() { + + super(MissingPathVariableException.class); + log.info("Created"); + } + + @Override + public HttpStatus getStatus(MissingPathVariableException ex) { + return HttpStatus.NOT_FOUND; + } +} diff --git a/spring-lemon-commons/pom.xml b/spring-lemon-commons/pom.xml index e626549..5f20b66 100644 --- a/spring-lemon-commons/pom.xml +++ b/spring-lemon-commons/pom.xml @@ -53,7 +53,7 @@ <dependency> <groupId>com.github.fge</groupId> <artifactId>json-patch</artifactId> - <version>RELEASE</version> + <version>1.9</version> </dependency> <!-- For generating Auto Completion of lemon.* in application.properties diff --git a/spring-lemon-exceptions/pom.xml b/spring-lemon-exceptions/pom.xml index 6707dee..4580889 100644 --- a/spring-lemon-exceptions/pom.xml +++ b/spring-lemon-exceptions/pom.xml @@ -31,7 +31,7 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> - <version>RELEASE</version> + <version>3.11</version> </dependency> </dependencies>