开发模板--完整版-(基础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()` 方法创建一个错误的响应实例。

