package com.walkguide.exception; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import com.walkguide.dto.ApiResponse; @ControllerAdvice public class GlobalExceptionHandler { // Nangkep error kalau login gagal / user gak ketemu @ExceptionHandler(RuntimeException.class) public ResponseEntity> handleRuntimeException(RuntimeException ex) { ApiResponse response = new ApiResponse<>(false, "AUTH_ERROR", ex.getMessage()); return ResponseEntity.status(401).body(response); } // Nangkep error dari Validasi (misal email format salah) @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity> handleValidationException(MethodArgumentNotValidException ex) { String errorMsg = ex.getBindingResult().getAllErrors().get(0).getDefaultMessage(); ApiResponse response = new ApiResponse<>(false, "VALIDATION_ERROR", errorMsg); return ResponseEntity.status(400).body(response); } }