diff --git a/src/main/java/com/jsl/oa/controllers/CustomController.java b/src/main/java/com/jsl/oa/controllers/CustomController.java new file mode 100644 index 0000000..668bd3f --- /dev/null +++ b/src/main/java/com/jsl/oa/controllers/CustomController.java @@ -0,0 +1,22 @@ +package com.jsl.oa.controllers; + +import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.ResultUtil; +import org.springframework.boot.web.servlet.error.ErrorController; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class CustomController implements ErrorController { + + @RequestMapping("/") + public BaseResponse index() { + return ResultUtil.success("欢迎使用JSL-OA系统,服务器处于正常状态"); + } + + @RequestMapping("/error") + public ResponseEntity handleError() { + return ResultUtil.error("PageNotFound", 404, "请求资源不存在"); + } +} diff --git a/src/main/java/com/jsl/oa/exception/ProcessException.java b/src/main/java/com/jsl/oa/exception/ProcessException.java new file mode 100644 index 0000000..07dad93 --- /dev/null +++ b/src/main/java/com/jsl/oa/exception/ProcessException.java @@ -0,0 +1,17 @@ +package com.jsl.oa.exception; + +import com.jsl.oa.utils.BaseResponse; +import com.jsl.oa.utils.ResultUtil; +import org.springframework.http.ResponseEntity; +import org.springframework.web.HttpRequestMethodNotSupportedException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; + +@ControllerAdvice +public class ProcessException { + + @ExceptionHandler(value = HttpRequestMethodNotSupportedException.class) + public ResponseEntity methodNotAllowedException() { + return ResultUtil.error("MethodNotAllowed", 405, "请求方法错误"); + } +} diff --git a/src/main/java/com/jsl/oa/utils/ResultUtil.java b/src/main/java/com/jsl/oa/utils/ResultUtil.java index dff865c..c06a441 100644 --- a/src/main/java/com/jsl/oa/utils/ResultUtil.java +++ b/src/main/java/com/jsl/oa/utils/ResultUtil.java @@ -1,5 +1,7 @@ package com.jsl.oa.utils; +import org.springframework.http.ResponseEntity; + public class ResultUtil { public static BaseResponse success() { @@ -25,4 +27,13 @@ public class ResultUtil { public static BaseResponse error(ErrorCode errorCode, Object data) { return new BaseResponse(errorCode.getOutput(), errorCode.getCode(), errorCode.getMessage(), data); } + + public static BaseResponse error(String output, Integer code, String message, Object data) { + return new BaseResponse(output, code, message, data); + } + + public static ResponseEntity error(String output, Integer code, String message) { + return ResponseEntity.status(code) + .body(new BaseResponse(output, code, message)); + } }