소스 검색

Add Controller Advice

Daniel Bohry 1 년 전
부모
커밋
5a6302b5b0
2개의 변경된 파일36개의 추가작업 그리고 0개의 파일을 삭제
  1. 16 0
      src/main/java/com/danielbohry/stocks/Error.java
  2. 20 0
      src/main/java/com/danielbohry/stocks/controller/GlobalExceptionHandler.java

+ 16 - 0
src/main/java/com/danielbohry/stocks/Error.java

@@ -0,0 +1,16 @@
+package com.danielbohry.stocks;
+
+import lombok.Data;
+
+import java.time.Instant;
+
+@Data
+public class Error {
+
+    private String message;
+    private Instant date = Instant.now();
+
+    public Error(String message) {
+        this.message = message;
+    }
+}

+ 20 - 0
src/main/java/com/danielbohry/stocks/controller/GlobalExceptionHandler.java

@@ -0,0 +1,20 @@
+package com.danielbohry.stocks.controller;
+
+
+import com.danielbohry.stocks.Error;
+import feign.FeignException;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.context.request.WebRequest;
+
+@ControllerAdvice
+public class GlobalExceptionHandler {
+
+    @ExceptionHandler(FeignException.NotFound.class)
+    public ResponseEntity<Error> handleFeignStatusException(FeignException e, WebRequest request) {
+        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new Error(e.getMessage()));
+    }
+
+}