控制器和实体中的@Min/@Max验证有什么区别?



我正在创建一个 SpringBoot MVC Restful Web 服务。 控制器的验证有什么区别:

Weather getWeather(
@PathVariable @Min(10) @Max(50) Integer temperature)

和实体的验证:

public class Weather {    
@Min(10)
@Max(50)
private final Integer temperature;

还是一样?

它们之间根本没有区别。 双方的意思相同。

如果将验证
  • 放在控制器内的函数中,则意味着只有在该函数运行时才会检查验证。 如果其他函数运行并且没有该属性的验证,它将接受任何值,因为她没有检查验证。 并且不会在许多函数中重复相同的验证代码。您可以在实体中使用验证注释,并放置其他注释,例如@valid...在任何函数中,您希望它检查验证约束。

希望你明白我想告诉你的。 对不起我的英语

最新更新