java - 通过 JSON 发送 java.lang.Boolean (Spring Boot)

标签 java json spring spring-boot boolean

我有一个带有 boolean (不是原始 boolean )属性的 bean。这是因为该属性并不与此类的每个实例相关,因此应该是可为空

Bean 在创建 REST 服务上作为 JSON 发送。 Controller 接收 null 而不是实际值。

我的 Controller :

@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);
    }
}

我的 bean :

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到字段:

@JsonProperty("active")
private Boolean active

Marker annotation that can be used to define a non-static method as a "setter" or "getter" for a logical property (depending on its signature), or non-static object field to be used (serialized, deserialized) as a logical property.

如果不起作用,请在 createTransaction 方法中的 MyBeanDTO 之前删除 @RequestBody

关于java - 通过 JSON 发送 java.lang.Boolean (Spring Boot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53692403/

相关文章:

java - 如何在 Java 中创建一个空流?

java - Java中OffsetDateTime字符串与OffsetDateTime.now()的比较

java - 设置类路径后包 org.apache.hadoop.conf 不存在

c# - ServiceStack.Text 可以将 JSON 反序列化为自定义泛型类型吗?

java - 我应该在 Spring-mvc 中使用哪个 @controller 注释?

java - Spring Data和@Transactional在多次保存时不回滚

java - 如何将 Firebase 数据与登录身份验证屏幕输入进行比较。安卓

javascript - Ext JsonStore 执行 POST,即使我将其设置为 GET

javascript - 解释表单附加到 DOM 的对象

java - 将 IP 地址存储在 UserDetails 实例中