Spring RestController删除了“;是";从属性名开始

Spring RestController删除了“;是";从属性名开始,spring,spring-restcontroller,Spring,Spring Restcontroller,我有一个对象的属性是Istechnian。如果我通过SpringRestController返回此对象,http响应json中的属性名为technician。 为什么春天剪的是呢?如何禁用它 @Document public class User { ... private boolean isTechnician; ... public boolean isTechnician() { return isTechnician; } public void setTechnicia

我有一个对象的属性是Istechnian。如果我通过SpringRestController返回此对象,http响应json中的属性名为technician。 为什么春天剪的是呢?如何禁用它

@Document
public class User {
...
private boolean isTechnician;

...

public boolean isTechnician() {
    return isTechnician;
}

public void setTechnician(boolean technician) {
    isTechnician = technician;
}
}
RestController

@GetMapping("user")
public List<User> GetUsers() {
    var query = new Query();
    query.addCriteria(where("disabled").is(false));
    return mongoTemplate.find(query, User.class);
}
@GetMapping(“用户”)
公共列表GetUsers(){
var query=新查询();
query.addCriteria(其中(“禁用”).is(false));
返回mongoTemplate.find(查询,用户.class);
}

您的
isTechnician
getter不符合标准。您应该将其命名为
isIsTechnician
getIsTechnician
(因为字段属性称为
isTechnician

@JsonProperty(“isTechnician”)
注释字段


Jackson(默认的Spring JSON解析器)将忽略getter名称(从中获取相应的JSON密钥名称),并使用在
@JsonProperty
注释中指定为值的名称。

您的
isTechnician
getter不符合标准。您应该将其命名为
isIsTechnician
getIsTechnician
(因为字段属性称为
isTechnician

@JsonProperty(“isTechnician”)
注释字段


Jackson(默认的Spring JSON解析器)将忽略getter名称(从中获取相应的JSON密钥名称),并使用在
@JsonProperty
注释中指定为值的名称。

此问题的一个简单解决方案是在getter函数上使用annotation@JsonProperty

@JsonProperty("isTechnician")
public boolean isTechnician() {
    return isTechnician;
}
现在您的JSON将成为

{
    "isTechnician":true
}

希望对您有所帮助。

解决此问题的一个简单方法是在getter函数上使用annotation@JsonProperty

@JsonProperty("isTechnician")
public boolean isTechnician() {
    return isTechnician;
}
现在您的JSON将成为

{
    "isTechnician":true
}

希望它能帮助您。

默认情况下,jackson在序列化和反序列化时可以看到getter和setter,所以只需使用JsonAutoDetect禁用它即可

 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)

默认情况下,jackson在序列化和反序列化时可以看到getter和setter,所以只需使用JsonAutoDetect禁用它

 @JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)

你能用getters和settersGood提示这个类吗。谢谢。你能给全班同学看一个好的提示吗。谢谢,更好的解决方案更好的解决方案