Archived
31 lines
1.2 KiB
Java
31 lines
1.2 KiB
Java
package com.gmp.mock.handler;
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.web.bind.MethodArgumentNotValidException;
|
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
|
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
|
|
|
import com.gmp.mock.dto.ApiResponse;
|
|
import com.gmp.mock.service.TemplateNotFoundException;
|
|
|
|
@RestControllerAdvice
|
|
public class GlobalExceptionHandler {
|
|
|
|
@ExceptionHandler(MethodArgumentNotValidException.class)
|
|
public ResponseEntity<ApiResponse<Void>> handleValidation(MethodArgumentNotValidException ex) {
|
|
String message = ex.getBindingResult().getFieldErrors().stream()
|
|
.map(e -> e.getDefaultMessage())
|
|
.collect(Collectors.joining("; "));
|
|
return ResponseEntity.badRequest()
|
|
.body(ApiResponse.error(400, message));
|
|
}
|
|
|
|
@ExceptionHandler(TemplateNotFoundException.class)
|
|
public ResponseEntity<ApiResponse<Void>> handleTemplateNotFound(TemplateNotFoundException ex) {
|
|
return ResponseEntity.status(404)
|
|
.body(ApiResponse.error(404, ex.getMessage()));
|
|
}
|
|
}
|