Api utils; Ping endpoint

This commit is contained in:
Universall 2025-02-20 11:54:17 +03:00
parent 29a9d1dfaa
commit f57e235b39
4 changed files with 25 additions and 3 deletions

View File

@ -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.VisitModel;
import com.displaynone.acss.components.acs.models.visit.service.VisitService; import com.displaynone.acss.components.acs.models.visit.service.VisitService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -13,7 +12,6 @@ import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
@Slf4j
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class ACSComponent { public class ACSComponent {

View File

@ -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<String> ping() {
return ResponseEntity.ok("Pong");
}
}

View File

@ -10,6 +10,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException; import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import org.springframework.security.authentication.InternalAuthenticationServiceException; import org.springframework.security.authentication.InternalAuthenticationServiceException;
import org.springframework.web.HttpMediaTypeNotSupportedException;
import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.bind.annotation.RestControllerAdvice;
@ -50,7 +51,7 @@ public class GlobalExceptionHandler {
} }
@ExceptionHandler(HttpMessageNotReadableException.class) @ExceptionHandler(HttpMessageNotReadableException.class)
public ResponseEntity<ErrorResponsePayload> handleHttpMessageNotReadableException(InvalidFormatException e, WebRequest request) { public ResponseEntity<ErrorResponsePayload> handleHttpMessageNotReadableException(HttpMessageNotReadableException e, WebRequest request) {
return buildErrorResponse(e, HttpStatus.BAD_REQUEST, "Bad request payload format: failed to parse"); return buildErrorResponse(e, HttpStatus.BAD_REQUEST, "Bad request payload format: failed to parse");
} }
@ -81,4 +82,9 @@ public class GlobalExceptionHandler {
public ResponseEntity<ErrorResponsePayload> handleForbiddenHTTPException(ForbiddenHTTPException e, WebRequest request) { public ResponseEntity<ErrorResponsePayload> handleForbiddenHTTPException(ForbiddenHTTPException e, WebRequest request) {
return buildErrorResponse(e, HttpStatus.FORBIDDEN, null); return buildErrorResponse(e, HttpStatus.FORBIDDEN, null);
} }
@ExceptionHandler(HttpMediaTypeNotSupportedException.class)
public ResponseEntity<ErrorResponsePayload> handleHttpMediaTypeNotSupportedException(HttpMediaTypeNotSupportedException e, WebRequest request) {
return buildErrorResponse(e, HttpStatus.BAD_REQUEST, null);
}
} }

View File

@ -45,6 +45,7 @@ public class WebSecurityConfig {
.authorizeHttpRequests(authorizeRequests -> .authorizeHttpRequests(authorizeRequests ->
authorizeRequests authorizeRequests
.requestMatchers("/api/utils/**").permitAll()
.requestMatchers("/api/auth/**").permitAll() .requestMatchers("/api/auth/**").permitAll()
.requestMatchers("/api/users/login/**").hasAuthority("ROLE_ADMIN") .requestMatchers("/api/users/login/**").hasAuthority("ROLE_ADMIN")
.requestMatchers("/api/acs/visits/login/**").hasAuthority("ROLE_ADMIN") .requestMatchers("/api/acs/visits/login/**").hasAuthority("ROLE_ADMIN")