我有一个情况,当用户未输入某些字段的数据我将null作为该int字段的值传递,以表示用户没有像
那样输入的值{user: 'John',
age: null}
但是,当我在Spring Boot应用程序中阅读此类文档时,当它遇到上面的文档时,扔了
Caused by: java.lang.IllegalArgumentException: Parameter age must not be null!
MongoDB或Spring Boot中允许的值是错误的吗?
我尝试:
@Data
@Document
public class User {
final private String user;
@org.springframework.lang.Nullable
final private int age;
}
但没有区别。如何解决此问题以外,除了存储null(因为NULL已经在另一个节点/Mongoose应用程序中填充了NULL(使用相同的MongoDB数据库中的另一个节点/Mongoose应用程序(很乐意存储并读取无问题(?
用Integer
替换int
,因为int
是一种原始类型,不接受null
值。Integer
是接受null
值的包装对象。