gpt4 book ai didi

java - @JsonIgnoreProperties 不允许通过@RequestBody 设置值?

转载 作者:行者123 更新时间:2023-12-02 12:52:31 24 4
gpt4 key购买 nike

我试图允许序列化我的对象,但不包括某些字段。假设我有一个类:

class UserInfo {
String userName;
String password;

//getters & setters
}

我需要出于某种目的对其进行序列化,但不包括密码字段。所以我补充道:

@JsonIgnoreProperties({"password"}) //or
@JsonIgnoreProperties(value = {"amountDelta"}, allowGetters = true, allowSetters = true)

然后,我尝试通过 @RequestBody 包装我的类的实例:

@RequestMapping(value = "test", method = POST, produces = "application/json")
public String testBodyWrapping(@RequestBody UserInfo userInfo) {

return userInfo.getPassword();
}

密码始终为! (我测试了删除 @JsonIgnoreProperties 注释,并且它有效)但是“手动”创建类的实例按预期工作,并且 password 字段没有出现。我做错了什么?

最佳答案

当有人使用此端点时,它会发送 json 文本。您的方法将其反序列化为 UserInfo 类对象。在此过程中,反序列化器尝试设置 UserInfo 类的每个字段。首先它尝试设置“userName”字段,结果没问题,之后它发现“password”字段可忽略并且未设置。仅此而已。

关于java - @JsonIgnoreProperties 不允许通过@RequestBody 设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44569846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com