如何检测请求中缺少的原语,而不是在springboot中将实际值默认为0?
我有一个rest控制器,它接收封装在DTO中的Json请求。在那个数据里我有这个字段如何检测请求中缺少的原语,而不是在springboot中将实际值默认为0?,spring,spring-boot,Spring,Spring Boot,我有一个rest控制器,它接收封装在DTO中的Json请求。在那个数据里我有这个字段 @NotNull(message = "value is mandatory.") private double value; 问题是,当我发送一个缺少此值的请求时,我不会得到验证错误,因为该值可能默认为0 如何确保在有效负载中实际缺少此值时通知调用者,而不是在spring中自动默认为0?我有一个建议,您可以再添加一个注释,以帮助您避免像这样使用零 @Min(1) @NotNull(message
@NotNull(message = "value is mandatory.")
private double value;
问题是,当我发送一个缺少此值的请求时,我不会得到验证错误,因为该值可能默认为0
如何确保在有效负载中实际缺少此值时通知调用者,而不是在spring中自动默认为0?我有一个建议,您可以再添加一个注释,以帮助您避免像这样使用零
@Min(1)
@NotNull(message = "value is mandatory.")
private double value;
现在它将取最小值1,所以它可能会工作使用@M.Deinum的建议,并且工作正常。包括避免使用原语
@NotNull(message = "value is mandatory.")
private Double value;
double的包装器不是一个选项吗<代码>双倍?是的。我在原语上还有一堆其他字段
@NotNull
,因为它有一个默认值,所以没有用。另外,缺少一个参数的事实是另一个@NotNUll
属性。如果您确实想使用此功能,请使用Double
而不是Double
。谢谢@M.Deinum。这样行不行,因为用户可能想使用0或-1,我只想让用户知道请求中需要该值。目前,spring默认为0,如果缺失,没有错误。如果这一点和您的搜索没有得到结果,那么我建议在插入记录时验证该值。如果该值不存在,则显示错误消息。