通过JSON发送java.lang.Boolean(Spring引导)

通过JSON发送java.lang.Boolean(Spring引导),java,json,spring,spring-boot,boolean,Java,Json,Spring,Spring Boot,Boolean,我有一个具有布尔(而不是原始布尔)属性的bean。这是因为该属性与该类的每个实例都不相关,因此应该是可空的 Bean作为JSON在CREATEREST服务上发送。控制器接收的是null,而不是实际值 我的控制器: @RestController @RequestMapping("/myBean") public class MyBeanController { @Autowired private MyBeanService myBeanService; @PostM

我有一个具有布尔(而不是原始布尔)属性的bean。这是因为该属性与该类的每个实例都不相关,因此应该是
可空的

Bean作为JSON在CREATEREST服务上发送。控制器接收的是
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中没有一个正确解析属性“active”,并且总是显示为
null
。我试过true,“true”,“value”:true}。我缺少什么?

添加到字段:

@JsonProperty("active")
private Boolean active
标记注释,可用于将非静态方法定义为逻辑属性的“setter”或“getter”(取决于其签名),或将非静态对象字段定义为逻辑属性(序列化、反序列化)


如果无效,请在
createTransaction
方法中的
MyBeanDTO
之前删除
@RequestBody

@JsonProperty通过在JSON中使用“active”:true解决了我的问题。多谢各位@MiguelBHM如果有帮助的话你可以接受我的回答,明白吗