RespBodyVo
Introduction
为了方便开发者返回数据,tio-boot 内置了了统一的数据返回类 RespBodyVo RespBodyVo 是一个用于构造和管理响应对象的工具类,它提供了一种标准化的方式来表示操作的结果(成功、失败或未知)、消息、数据和业务编码。这个类非常适合在后端服务中使用,尤其是在需要对前端返回标准化的响应结构时。
RespBodyVo 使用示例
import com.litongjava.annotation.RequestPath;
import com.litongjava.tio.utils.resp.RespBodyVo;
@RequestPath("/resp-vo")
public class RespVoController {
public RespBodyVo success() {
return RespBodyVo.ok("success");
}
public RespBodyVo fail() {
return RespBodyVo.fail("fail");
}
}
成功响应
- 方法:
success() - 类型: GET
- 路径:
/resp-vo/success - 返回数据示例:
{
"data": "success",
"code": 1,
"ok": true,
"msg": null
}
说明:
data字段表示业务数据,此处为字符串 "success"。code字段为业务编码,1表示操作成功。ok字段表明响应状态,true表示成功。msg字段通常用于传递额外信息,此处为null因为操作成功不需要额外消息。
失败响应
- 方法:
fail() - 类型: GET
- 路径:
/resp-vo/fail - 返回数据示例:
{
"data": null,
"code": 0,
"ok": false,
"msg": "fail"
}
说明:
data字段在失败响应中通常为空,因为没有业务数据要返回。code字段为业务编码,0表示操作失败。ok字段表明响应状态,false表示失败。msg字段用于提供失败的具体原因,此处为字符串 "fail"。
RespBodyVo 使用文档
成功响应
要创建一个表示成功的响应,可以使用 RespBodyVo.ok() 方法。这个方法可以被重载,以便于传递与操作成功相关的数据。
- 无数据成功响应:
RespBodyVo response = RespBodyVo.ok();
- 带数据的成功响应:
RespBodyVo response = RespBodyVo.ok(someData);
在这里,someData 可以是任何类型的对象,表示与操作成功相关的业务数据。
失败响应
要创建一个表示失败的响应,可以使用 RespBodyVo.fail() 方法。这个方法也可以被重载,以便于传递表示失败原因的消息。
- 无消息的失败响应:
RespBodyVo response = RespBodyVo.fail();
- 带消息的失败响应:
RespBodyVo response = RespBodyVo.fail("失败的原因");
设置额外属性
除了基本的成功或失败状态,RespBodyVo 还允许你设置额外的属性,如消息(msg)、业务编码(code)和业务数据(data)。
- 设置消息:
response.msg("操作成功的附加信息");
- 设置业务编码:
response.code(1001); // 1001 为示例业务编码
- 设置业务数据:
response.data(someData);
响应格式
使用 RespBodyVo 构造的响应对象通常包含以下几个字段:
code:业务编码,用于表示操作的具体结果。ok:布尔值,表示操作是成功(true)还是失败(false)。msg:字符串,用于提供关于操作结果的额外信息或失败原因。data:对象,携带与操作成功相关的业务数据。
示例
以下是一个完整的示例,展示了如何使用 RespBodyVo 来构造一个带有成功消息、业务编码和业务数据的成功响应:
public RespBodyVo createSuccessResponse() {
Object someData = ...; // 从业务逻辑获取数据
return RespBodyVo.ok(someData)
.msg("操作成功完成")
.code(200); // 使用自定义的成功业务编码
}
相应地,下面是一个失败响应的示例:
public RespBodyVo createFailResponse() {
return RespBodyVo.fail("无法完成操作,因为...")
.code(400); // 使用自定义的失败业务编码
}
