From c2aff11b228c83f09d10f1ebfa92db6bab6cf5c4 Mon Sep 17 00:00:00 2001 From: none Date: Tue, 7 Feb 2023 17:47:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E7=BB=9F=E4=B8=80=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/controller/ExceptionController.java | 22 +++++++++++++++++++ .../controller/admin/AdminUserController.java | 12 +++++++--- .../api/exception/ServiceException.java | 22 +++++++++++++++++++ .../{ResponseBody.java => JsonResponse.java} | 16 +++++++------- 4 files changed, 61 insertions(+), 11 deletions(-) create mode 100644 src/main/java/xyz/playedu/api/controller/ExceptionController.java create mode 100644 src/main/java/xyz/playedu/api/exception/ServiceException.java rename src/main/java/xyz/playedu/api/types/{ResponseBody.java => JsonResponse.java} (58%) diff --git a/src/main/java/xyz/playedu/api/controller/ExceptionController.java b/src/main/java/xyz/playedu/api/controller/ExceptionController.java new file mode 100644 index 0000000..f89023d --- /dev/null +++ b/src/main/java/xyz/playedu/api/controller/ExceptionController.java @@ -0,0 +1,22 @@ +package xyz.playedu.api.controller; + +import org.springframework.web.HttpRequestHandler; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; +import xyz.playedu.api.exception.ServiceException; +import xyz.playedu.api.types.JsonResponse; + +@RestControllerAdvice +public class ExceptionController { + + @ExceptionHandler(Exception.class) + public JsonResponse exceptionHandler(Exception e) { + return JsonResponse.error("系统错误", 500); + } + + @ExceptionHandler(ServiceException.class) + public JsonResponse serviceExceptionHandler(ServiceException e) { + return JsonResponse.error(e.getMessage(), 1); + } + +} diff --git a/src/main/java/xyz/playedu/api/controller/admin/AdminUserController.java b/src/main/java/xyz/playedu/api/controller/admin/AdminUserController.java index da9c04b..d0a7964 100644 --- a/src/main/java/xyz/playedu/api/controller/admin/AdminUserController.java +++ b/src/main/java/xyz/playedu/api/controller/admin/AdminUserController.java @@ -5,9 +5,10 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import xyz.playedu.api.domain.AdminUser; +import xyz.playedu.api.exception.ServiceException; import xyz.playedu.api.service.impl.AdminUserServiceImpl; import xyz.playedu.api.types.PaginationResult; -import xyz.playedu.api.types.ResponseBody; +import xyz.playedu.api.types.JsonResponse; @RestController public class AdminUserController { @@ -16,9 +17,14 @@ public class AdminUserController { private AdminUserServiceImpl adminUserService; @GetMapping("/admin/user/index") - public ResponseBody List(@RequestParam("page") Integer page, @RequestParam("size") Integer size) { + public JsonResponse List(@RequestParam("page") Integer page, @RequestParam("size") Integer size) { PaginationResult result = adminUserService.paginate(page, size, null); - return ResponseBody.data(result); + return JsonResponse.data(result); + } + + @GetMapping("/admmin/user/test") + public void TestException() throws ServiceException { + throw new RuntimeException("我是错误"); } } diff --git a/src/main/java/xyz/playedu/api/exception/ServiceException.java b/src/main/java/xyz/playedu/api/exception/ServiceException.java new file mode 100644 index 0000000..4e4beb2 --- /dev/null +++ b/src/main/java/xyz/playedu/api/exception/ServiceException.java @@ -0,0 +1,22 @@ +package xyz.playedu.api.exception; + +public class ServiceException extends Exception { + public ServiceException() { + } + + public ServiceException(String message) { + super(message); + } + + public ServiceException(String message, Throwable cause) { + super(message, cause); + } + + public ServiceException(Throwable cause) { + super(cause); + } + + public ServiceException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } +} diff --git a/src/main/java/xyz/playedu/api/types/ResponseBody.java b/src/main/java/xyz/playedu/api/types/JsonResponse.java similarity index 58% rename from src/main/java/xyz/playedu/api/types/ResponseBody.java rename to src/main/java/xyz/playedu/api/types/JsonResponse.java index 6ef9452..8b81831 100644 --- a/src/main/java/xyz/playedu/api/types/ResponseBody.java +++ b/src/main/java/xyz/playedu/api/types/JsonResponse.java @@ -1,6 +1,6 @@ package xyz.playedu.api.types; -public class ResponseBody { +public class JsonResponse { private Integer code; private String msg; @@ -30,21 +30,21 @@ public class ResponseBody { this.data = data; } - public ResponseBody(Integer code, String msg, T data) { + public JsonResponse(Integer code, String msg, T data) { this.code = code; this.msg = msg; this.data = data; } - public static ResponseBody success(String msg) { - return new ResponseBody<>(0, msg, null); + public static JsonResponse success(String msg) { + return new JsonResponse<>(0, msg, null); } - public static ResponseBody data(Object data) { - return new ResponseBody<>(0, "", data); + public static JsonResponse data(Object data) { + return new JsonResponse<>(0, "", data); } - public static ResponseBody error(String msg, Integer code) { - return new ResponseBody<>(code, msg, null); + public static JsonResponse error(String msg, Integer code) { + return new JsonResponse<>(code, msg, null); } }