定义一个统一的响应格式类
创始人
2024-11-11 18:08:25
0

在实际开发中,确实很常见需要定义一个统一的响应格式,用于封装 API 接口的返回结果。以下是一个简单的 Java 类示例,用于作为 API 响应的通用格式:

```java
public class ApiResponse {
    private int code;    // 状态码
    private String message; // 消息描述
    private T data;     // 返回的数据,泛型支持返回不同类型的数据

    // 构造函数
    public ApiResponse(int code, String message, T data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    // 无参构造函数,可能需要序列化工具链的无参构造函数
    public ApiResponse() {
    }

    // getter 和 setter 方法
    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 T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    // 根据需要可以添加其他方法,例如用于成功的响应或错误响应的静态方法
    public static ApiResponse success(U data) {
        return new ApiResponse<>(200, "Success", data);
    }

    public static ApiResponse failure(String message) {
        return new ApiResponse<>(500, message, null);
    }
}
```

这个 `ApiResponse` 类是一个泛型类,可以用于封装任何类型的返回数据。它包含状态码、消息和数据三个属性。你可以定义静态方法来创建成功或失败的响应实例。

使用示例:

```java
// 创建成功的响应
ApiResponse successResponse = ApiResponse.success(myPojoObject);

// 创建失败的响应
ApiResponse failureResponse = ApiResponse.failure("Something went wrong");
```

在 Controller 中返回响应:

```java
@RestController
public class MyController {

    @GetMapping("/my-endpoint")
    public ApiResponse getMyData() {
        try {
            MyPojo myPojo = myService.fetchData();
            return ApiResponse.success(myPojo);
        } catch (Exception e) {
            return ApiResponse.failure("Error fetching data");
        }
    }
}
```

这个类可以根据你的具体需求进行扩展,例如添加时间戳、请求ID或者其他任何元数据。在大型项目中,这样的类通常会被定义在共享的库中,以便在不同的服务和模块之间重用。
 

相关内容

热门资讯

4分钟辅助!天天手游辅助工具,... 4分钟辅助!天天手游辅助工具,好像存在有辅助脚本(有挂秘诀)1、起透看视 天天手游辅助工具辅助软件价...
7分钟辅助!微乐小程序自建房辅... 7分钟辅助!微乐小程序自建房辅助,都是有辅助方法(有人有挂)1、玩家可以在微乐小程序自建房辅助线上大...
2分钟辅助!约局吧辅助器,本来... 2分钟辅助!约局吧辅助器,本来真的有辅助插件(的确有挂)1、约局吧辅助器破解器简单,约局吧辅助器机器...
三分钟辅助!微乐自建房辅助工具... 三分钟辅助!微乐自建房辅助工具,确实有辅助挂(存在有挂)1、很好的工具软件,可以解锁游戏的微乐自建房...
8分钟辅助!巴郎新疆开挂,一直... 8分钟辅助!巴郎新疆开挂,一直有辅助工具(有挂详情)1、巴郎新疆开挂透视辅助软件激活码多个强度级别选...
五分钟辅助!温州茶苑手机辅助器... 五分钟辅助!温州茶苑手机辅助器,好像真的有辅助软件(有挂技巧)1、每一步都需要思考,不同水平的挑战温...
两分钟辅助!白金岛手游的作弊码... 两分钟辅助!白金岛手游的作弊码,其实真的是有辅助挂(有挂细节)1、白金岛手游的作弊码免费辅助多个强度...
八分钟辅助!极速暗宝辅助,一贯... 八分钟辅助!极速暗宝辅助,一贯真的有辅助技巧(有挂神器)1、许多玩家不知道极速暗宝辅助辅助怎么退出观...
一分钟辅助!创乐源辅助软件,果... 一分钟辅助!创乐源辅助软件,果然有辅助工具(有挂讲解)1、一分钟辅助!创乐源辅助软件,果然有辅助工具...
8分钟辅助!微乐自建房辅助多少... 8分钟辅助!微乐自建房辅助多少钱一个月,真是真的是有辅助工具(有挂讲解)小薇(辅助器软件下载)致您一...