【发布时间】:2018-09-14 08:39:28
【问题描述】:
当用户没有为某些字段输入数据时,我将 null 作为该 int 字段的值传递,以表示用户没有输入任何值
{user: 'John',
age: null}
但是当我在我的 Spring Boot 应用程序中读取这样的文档时,当它遇到上面的文档时,会抛出
Caused by: java.lang.IllegalArgumentException: Parameter age must not be null!
是 mongodb 中的 null 允许值还是 Spring Boot 做错了什么?
我尝试过:
@Data
@Document
public class User {
final private String user;
@org.springframework.lang.Nullable
final private int age;
}
但这并没有什么区别。除了不存储 null 之外,如何解决这个问题(因为 null 已经填充在另一个节点/mongoose 应用程序中(它很乐意存储和读取 null 值而没有任何问题)使用相同的 mongodb 数据库?
【问题讨论】:
-
如果您将
age更改为Integer而不是int,您会看到什么? -
我将 int 替换为 Integer 并解决了问题。不知道为什么它不适用于 int。谢谢
-
在下面添加了解释,如果对你有用,请接受:)
标签: mongodb spring-boot mongoose