竹简文档
响应处理

BaseResponse

BaseResponse<E> 统一响应模型,包含 context、状态码、错误信息与数据载体

BaseResponse

BaseResponse<E> 位于 com.xlf.utility,用于统一接口返回结构。
该类使用 @JsonInclude(JsonInclude.Include.NON_NULL),字段值为 null 时默认不输出到 JSON。

类定义

BaseResponse.java
package com.xlf.utility;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BaseResponse<E> implements Serializable {
    private String context;
    @NotNull
    private String output;
    @NotNull
    private Integer code;
    @NotNull
    private String message;
    private String errorMessage;
    private Long duration;
    private E data;

    // 兼容旧版本的五参构造
    public BaseResponse(String output, Integer code, String message, String errorMessage, E data) {
        this(null, output, code, message, errorMessage, null, data);
    }
}

字段说明

字段

类型

构造方式

全参构造(推荐在工具层使用)

Example.java
BaseResponse<UserDTO> response = new BaseResponse<>(
    "550e8400-e29b-41d4-a716-446655440000", // context
    "Success",                               // output
    200,                                     // code
    "获取成功",                               // message
    null,                                    // errorMessage
    12L,                                     // duration
    userDTO                                  // data
);

兼容构造(旧风格)

Example.java
BaseResponse<UserDTO> response = new BaseResponse<>(
    "Success",
    200,
    "获取成功",
    null,
    userDTO
);

Builder 构造(复杂场景推荐)

Example.java
BaseResponse<UserDTO> response = BaseResponse.<UserDTO>builder()
    .context("550e8400-e29b-41d4-a716-446655440000")
    .output("Success")
    .code(200)
    .message("获取成功")
    .duration(12L)
    .data(userDTO)
    .build();

当前实现中没有 BaseResponse(ErrorCode, ...) 形式的构造函数。

响应示例

成功响应

response.json
{
  "context": "550e8400-e29b-41d4-a716-446655440000",
  "output": "Success",
  "code": 200,
  "message": "获取成功",
  "duration": 12,
  "data": {
    "id": 1,
    "username": "xiao_lfeng"
  }
}

错误响应

response.json
{
  "context": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "output": "ParameterMissing",
  "code": 40003,
  "message": "参数缺失",
  "errorMessage": "用户 ID 不能为空",
  "duration": 3
}

使用建议

  • bamboo-mvcbamboo-webflux 中,优先使用各模块 ResultUtil 统一构造响应。
  • 成功响应建议 output="Success"code=200
  • 错误响应建议从 ErrorCode 读取 outputcode,避免硬编码。

下一步

On this page