当前位置:实例文章 » 其他实例» [文章]开发模板--完整版-(基础Controller,公共响应)

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

相关标签:基础
其他信息

其他资源

Top