Spring Boot @Decimalmin和@Decimalmax在请求中不起作用

时间:2018-08-11 09:50:33

标签: spring rest validation spring-boot

我有一个Spring Boot 2.0.0.M7应用程序。

我已请求:

@Override
public ResponseEntity<Account> getAccountById(@DecimalMin("5") @DecimalMax("6")
                                              @ApiParam(value = "ID of account", required = true)
                                              @PathVariable("customerId") BigDecimal customerId{...}if 

我已经添加了我的gradle:

 compile("org.hibernate:hibernate-validator:6.0.9.Final")

但如果我提交:

http://localhost:8081/v1/accounts/1

验证不起作用...它只是继续使用错误的参数。

有什么我想念的吗?

1 个答案:

答案 0 :(得分:2)

如果要验证请求,请为请求正文或字段添加@Valid。您也可以在控制器类中添加@Validated

@Override
public ResponseEntity<Account> getAccountById(@Valid @DecimalMin("5") @DecimalMax("6")
                                              @ApiParam(value = "ID of account", required = true)
                                              @PathVariable("customerId") BigDecimal customerId{...}if