diff --git a/examples/restful-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/restful/example/advice/GlobalExceptionHanlder.java b/examples/restful-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/restful/example/advice/GlobalExceptionHanlder.java new file mode 100644 index 0000000..ec7e93d --- /dev/null +++ b/examples/restful-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/restful/example/advice/GlobalExceptionHanlder.java @@ -0,0 +1,23 @@ +package com.chinaunicom.mall.ebtp.cloud.restful.example.advice; + +import org.springframework.http.HttpHeaders; +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; +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; + +import lombok.extern.slf4j.Slf4j; + +@Slf4j +@ControllerAdvice +public class GlobalExceptionHanlder extends ResponseEntityExceptionHandler { + + @ExceptionHandler(RuntimeException.class) + public ResponseEntity handleRuntimeException(RuntimeException ex, WebRequest request) { + log.error("500 Status Code.", ex); + + return new ResponseEntity<>(ex.getMessage(), new HttpHeaders(), HttpStatus.INTERNAL_SERVER_ERROR); + } +} diff --git a/examples/restful-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/restful/example/controller/SimpleController.java b/examples/restful-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/restful/example/controller/SimpleController.java index 0e584aa..4b42ba8 100644 --- a/examples/restful-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/restful/example/controller/SimpleController.java +++ b/examples/restful-example/src/main/java/com/chinaunicom/mall/ebtp/cloud/restful/example/controller/SimpleController.java @@ -1,24 +1,23 @@ package com.chinaunicom.mall.ebtp.cloud.restful.example.controller; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import com.chinaunicom.mall.ebtp.cloud.mvc.starter.base.BaseResponse; - @RestController @RequestMapping(value = "/simple", method = RequestMethod.POST) public class SimpleController { @RequestMapping("/hello") - public BaseResponse hello() { - return BaseResponse.success("Hello Spring Rest"); + public ResponseEntity hello() { + return ResponseEntity.ok("Hello Spring Rest"); } @RequestMapping("/echo/{message}") - public BaseResponse echo(@PathVariable String message) { - return BaseResponse.success(message); + public ResponseEntity echo(@PathVariable String message) { + return ResponseEntity.ok(message); } @RequestMapping("/error")