英文:
@NotNull integer parameter
问题
我创建了一个端点,如果我没有填写特定的参数,我想要显示一条消息。
例如:
@NotNull(message = "必须指定距离。")
@QueryParam("distance")
final double distance;
但由于某种原因,如果我不填写这个字段,我就什么也收不到。也许是因为这不是一个字符串?
我应该怎么做?
英文:
I created an endpoint, and I want to display a message if I don't fill a specific parameter.
For example:
@NotNull(message = "The distance must be specified.")
@QueryParam("distance")
final double distance;
But for some reason I don't receive anything if I don't fill the field. Maybe because this is not a String?
How should I do?
答案1
得分: 1
由于双精度值(double value)永远不会为空,因此它永远不会满足条件。如果您尝试使用包装类 Double,那么这应该会给出您期望的结果。
@NotNull(message = "必须指定距离。")
@QueryParam("distance")
final Double distance;
英文:
As double value can never be null, this never meets the criteria. If you try with a Wrapper class Double, then this should give your expected result.
@NotNull(message = "The distance must be specified.")
@QueryParam("distance")
final Double distance;
答案2
得分: 0
double
如果不存在,将始终评估为 0
,这就是为什么 @NotNull
不会抛出异常。
如果不发送它,使用 Double
,它将为 null。
英文:
double
will always evaluate to 0
in case it doesn't exist, that's why @NotNull
is not throwing an exception.
Use Double
then if you don't send it, it will null.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论