我正在使用Spring Boot创建CreateOrUpdateProduct API。我想回到消费者两个字段(“消息和isOk”)。但是,当我执行此API时,我收到了(“消息并确定”)字段。发生了什么?请扩大我。谢谢提前!

这是我的职责

public ResponseBase CreateOrUpdateProduct(Product product) {

        ....
        return responseBase;
    }


public class ResponseBase {
boolean isOk;
public boolean isOk() {
    return isOk;
}
public void setOk(boolean isOk) {
    this.isOk = isOk;
}
public String getMessage() {
    return message;
}
public void setMessage(String message) {
    this.message = message;
}
String message;
}


我收到了

{
  "message":null,
  "ok": true
}

最佳答案

我认为您的答案在这里:Jackson renames boolean field by removing is

Jackson(serializer)将“ isOk”视为名为“ ok”的布尔变量的get方法。这是开发人员在布尔变量的get方法上使用的常见命名模式。

编辑:

您不应该将方法的名称设置为“ getIsOk”,因为它不遵循布尔变量的get方法的命名约定。这不是一个很好的解决方案,但是会起作用。

Jackson提供了一个注释,用于设置序列化变量的名称:

@JsonProperty(value="isOk")
public boolean isOk() {
  return isOk;
}

09-26 04:22