我正在使用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;
}