我有一个带有布尔(不是原始布尔)属性的bean。这是因为属性与该类的每个实例都不相关,因此应为nullable
。
Bean在创建REST服务上作为JSON发送。控制器接收null
而不是实际值。
我的控制器:
@RestController
@RequestMapping("/myBean")
public class MyBeanController {
@Autowired
private MyBeanService myBeanService;
@PostMapping("/create" )
public ResponseEntity createTransaction(@RequestBody MyBeanDTO myBean) {
MyBeanDTO result = myBeanService.create(myBean);
return new ResponseEntity(result, HttpStatus.OK);
}
}
我的豆子:
public class MyBean {
. . .
private Boolean active;
. . .
public Boolean getActive() { //Instead of isActive, as it's Boolean and not boolean
return active;
}
public void setActive(Boolean active) {
this.active = active;
}
}
我发送的JSON均未正确解析属性“活动”,并且始终以
null
形式出现。我已经尝试过true,“ true”,{“ value”:true}。我想念什么? 最佳答案
将@JsonProperty添加到字段:
@JsonProperty("active")
private Boolean active
标记批注,可用于将非静态方法定义为逻辑属性的“设置者”或“获取器”(取决于其签名),或将用作逻辑的非静态对象字段(序列化,反序列化)属性。
如果不起作用,请在
@RequestBody
方法中的MyBeanDTO
之前删除createTransaction