java前后端分离有什么规范_前后端分离接口规范

论坛 期权论坛 脚本     
已经匿名di用户   2022-3-21 23:59   2457   0

最近在开发,遇到前后端关于Boolean类型的参数传参和接收的问题:

场景:后台会根据用户是否出车/是否出司机(Boolean类型)来决定后端的业务逻辑(比如费用的计算),前端使用JSON字符串类型传输,后端使用@RequestBody接收对象...

前后端分离特殊内容规范

单选框、下拉框、复选框

由后端接口统一逻辑判定是否选中,通过isSelect标示是否选中,示例如下:

{

code: 200,

data: {

message: "success",

list: [{

id: 1,

isCarProvide: 1,

isDriverProvide: 0

}]

}

}

规定:禁止下拉框、复选框、单选框判定选中逻辑由前端来处理,统一由后端逻辑判定选中返回给前端展示;

Boolean类型参数的传值

关于Boolean类型,JSON数据传输一律使用 1/0 来标示,1为是/true,0为否/false,前端单选框/复选框表示boolean,后台使用boolean接收,前端value值使用true/false或者1/0都是可以自动转成boolean类型的,我做以下测试:

Test实体类

@Data

@AllArgsConstructor

@NoArgsConstructor

public class Test implements Serializable {

private static final long serialVersionUID = 2958237749066165066L;

private Boolean carProvide;

}

ApiTest

@Controller

public class ApiTest {

@PostMapping("/test")

@ResponseBody

public String booleanTest(@RequestBody Test test) {

Boolean isCarProvide = test.getCarProvide();

if (isCarProvide) {

return "Boolean test success, isCarProvide value is:" + isCarProvide.booleanValue();

} else {

return "Boolean test failed, isCarProvide value is:" + isCarProvide.booleanValue();

}

}

}

bca3fce51d811c5aa475df1699d808d8.png

85122af4828b538476a8c95caf16630c.png

2ab197cd82d207bde68620513b282684.png

adcb6d3560c4b72138b9cf4b9cbf4ff9.png

这里我得出了结论,前端boolean类型的传输value的值都规定使用0/1,后端直接使用Boolean类型接收,不需要我们手动转换!!!

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP