我有一个像这样的控制器方法:
import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
@Controller
@RequestMapping(value = "/foo")
public class Controller
{
@Autowired Service svc;
@RequestMapping(value="/bar/{id}", method=RequestMethod.GET)
@ResponseBody
BasicResponseDto<ResponseDto>
bar(@Valid @PathVariable @Min(0) @NotNull final Long id)
{
// ...
}
}
但是验证注解好像没有任何作用。我可以给它 0,但它仍然可以正常运行。
我需要做什么才能让它拒绝无效值?
0 对于@Min(0) 有效。将其更改为 @Min(1) 并发送 0...
@Min 包含提供的参数。
尝试将
@Validated
添加到您的控制器。
像这样:
@Controller
@RequestMapping(value = "/foo")
@Validated
public class Controller
{
}