diff --git a/src/main/java/com/displaynone/acss/components/acs/ACSComponent.java b/src/main/java/com/displaynone/acss/components/acs/ACSComponent.java index 084c29c..32caa0f 100644 --- a/src/main/java/com/displaynone/acss/components/acs/ACSComponent.java +++ b/src/main/java/com/displaynone/acss/components/acs/ACSComponent.java @@ -5,7 +5,6 @@ import com.displaynone.acss.components.acs.models.gate.service.GateService; import com.displaynone.acss.components.acs.models.visit.VisitModel; import com.displaynone.acss.components.acs.models.visit.service.VisitService; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Component; @@ -13,7 +12,6 @@ import org.springframework.stereotype.Component; import java.util.List; import java.util.Optional; -@Slf4j @Component @RequiredArgsConstructor public class ACSComponent { diff --git a/src/main/java/com/displaynone/acss/controllers/utils/UtilsController.java b/src/main/java/com/displaynone/acss/controllers/utils/UtilsController.java new file mode 100644 index 0000000..35117e3 --- /dev/null +++ b/src/main/java/com/displaynone/acss/controllers/utils/UtilsController.java @@ -0,0 +1,17 @@ +package com.displaynone.acss.controllers.utils; + +import lombok.RequiredArgsConstructor; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/api/utils") +@RequiredArgsConstructor +public class UtilsController { + @GetMapping("/ping") + public ResponseEntity ping() { + return ResponseEntity.ok("Pong"); + } +} diff --git a/src/main/java/com/displaynone/acss/exception/handler/GlobalExceptionHandler.java b/src/main/java/com/displaynone/acss/exception/handler/GlobalExceptionHandler.java index 1394f0b..e2b0055 100644 --- a/src/main/java/com/displaynone/acss/exception/handler/GlobalExceptionHandler.java +++ b/src/main/java/com/displaynone/acss/exception/handler/GlobalExceptionHandler.java @@ -10,6 +10,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.lang.Nullable; import org.springframework.security.authentication.InternalAuthenticationServiceException; +import org.springframework.web.HttpMediaTypeNotSupportedException; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -50,7 +51,7 @@ public class GlobalExceptionHandler { } @ExceptionHandler(HttpMessageNotReadableException.class) - public ResponseEntity handleHttpMessageNotReadableException(InvalidFormatException e, WebRequest request) { + public ResponseEntity handleHttpMessageNotReadableException(HttpMessageNotReadableException e, WebRequest request) { return buildErrorResponse(e, HttpStatus.BAD_REQUEST, "Bad request payload format: failed to parse"); } @@ -81,4 +82,9 @@ public class GlobalExceptionHandler { public ResponseEntity handleForbiddenHTTPException(ForbiddenHTTPException e, WebRequest request) { return buildErrorResponse(e, HttpStatus.FORBIDDEN, null); } + + @ExceptionHandler(HttpMediaTypeNotSupportedException.class) + public ResponseEntity handleHttpMediaTypeNotSupportedException(HttpMediaTypeNotSupportedException e, WebRequest request) { + return buildErrorResponse(e, HttpStatus.BAD_REQUEST, null); + } } diff --git a/src/main/java/com/displaynone/acss/security/WebSecurityConfig.java b/src/main/java/com/displaynone/acss/security/WebSecurityConfig.java index 88392e5..f9bcc7a 100644 --- a/src/main/java/com/displaynone/acss/security/WebSecurityConfig.java +++ b/src/main/java/com/displaynone/acss/security/WebSecurityConfig.java @@ -45,6 +45,7 @@ public class WebSecurityConfig { .authorizeHttpRequests(authorizeRequests -> authorizeRequests + .requestMatchers("/api/utils/**").permitAll() .requestMatchers("/api/auth/**").permitAll() .requestMatchers("/api/users/login/**").hasAuthority("ROLE_ADMIN") .requestMatchers("/api/acs/visits/login/**").hasAuthority("ROLE_ADMIN")