开发模板--完整版-(基础Controller,公共响应)
发布人:shili8
发布时间:2025-01-04 14:59
阅读次数:0
**开发模板 -- 完整版**
### 基础 Controller####介绍在 Spring Boot 中,Controller 是一个非常重要的组件,它负责处理 HTTP 请求并返回相应的响应。以下是基础 Controller 的实现:
java// BaseController.javaimport org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; /** * 基础 Controller,提供公共的异常处理和响应功能。 */ @RestControllerAdvicepublic class BaseController { /** * 异常处理器,捕捉所有未知的异常并返回错误响应。 * * @param e 未知的异常 * @return 错误响应 */ @ExceptionHandler(Exception.class) public CommonResponse handleException(Exception e) { return CommonResponse.error("系统内部错误", e.getMessage()); } }
####说明* `@RestControllerAdvice` 注解用于标记一个 Controller,表示它可以处理所有类型的异常。
* `handleException` 方法捕捉所有未知的异常,并返回一个错误响应。
### 公共响应####介绍公共响应是Controller中返回给客户端的标准化数据结构。以下是公共响应的实现:
java// CommonResponse.javaimport java.io.Serializable; /** * 公共响应类,提供标准化的响应数据结构。 */ public class CommonResponse implements Serializable { private static final long serialVersionUID =1L; /** * 响应状态码。 */ private int code; /** * 响应消息。 */ private String message; /** * 响应数据。 */ private Object data; public CommonResponse() { this.code =200; this.message = "成功"; } public static CommonResponse success() { return new CommonResponse(); } public static CommonResponse error(String message) { CommonResponse response = new CommonResponse(); response.setCode(500); response.setMessage(message); return response; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } }
####说明* `CommonResponse` 类提供了一个标准化的响应数据结构,包括状态码、消息和数据。
* `success()` 和 `error()` 方法用于创建成功或错误的响应实例。
### 示例代码以下是使用上述基础 Controller 和公共响应类的示例代码:
java// ExampleController.javaimport org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * 示例 Controller,演示如何使用基础 Controller 和公共响应。 */ @RestControllerpublic class ExampleController { @GetMapping("/example") public CommonResponse example() { return CommonResponse.success("这是一个成功的响应"); } @GetMapping("/error") public CommonResponse error() { return CommonResponse.error("这是一个错误的响应"); } }
####说明* `ExampleController` 类演示了如何使用基础 Controller 和公共响应类来处理 HTTP 请求并返回相应的响应。
* `example()` 方法创建一个成功的响应实例,`error()` 方法创建一个错误的响应实例。