gpt4 book ai didi

java - Spring @RequestBody 和默认值

转载 作者:行者123 更新时间:2023-12-02 01:26:37 25 4
gpt4 key购买 nike

Spring 在收到 @ResponseBody 参数形式的详细信息时创建一个正确类型的新对象(例如 public void createUser(@RequestBody User user))。我将数据发送到服务器JSON,Spring 按照指定创建新的用户对象。

我的问题是,有没有办法让 Spring 忽略我自动生成的字段(如 createDate 等)。因此,例如,如果我传入 {"username":"sam"} 而没有其他内容,我想要一个仅填充用户名字段的用户对象,而没有其他字段字段(即使无效)。

我问这个问题的原因是因为我的用户从另一个我无法触及的对象继承了一些默认的自动生成的属性,并且我需要一个对象,该对象的所有字段都为空,除了来自请求的字段之外。 更新:然后我可以将新创建​​的对象与 JpaRepository 中的对象合并(忽略空值)。

谢谢:-)

最佳答案

它确实有办法做到这一点。例如:@initBinder or convertService ,但它会更复杂,而且我也不知道执行该代码的确切实现。虽然最简单的方法是创建一个新类,可以调用:TmpUser并且只有1个字段:userName,你使用这个类来接受请求数据,并将数据复制到User,然后它就可以满足你的要求。您可以使用Spring utils. BeanUtils.copyProperties()进行复制。

关于java - Spring @RequestBody 和默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15213752/

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