我有一个Spring Boot Controller,其端点接受以下Configuration类(如json)。该类具有参数maxIterations
,并将@Size
注释设置为9000
。
...
import javax.validation.constraints.Max;
import javax.validation.constraints.Size;
public class Configuration {
// Max iterations
@Size(max = 9000)
private Integer maxIterations;
...
}
问题在于,使用以下POST
对该端点进行json
调用时,它不会返回错误或警告,指出maxIterations
参数高于{{1 }}。
9000
这是我的控制者:
{
"maxIterations": 15000
}
可能是什么问题?
答案 0 :(得分:1)
如评论中所述,您应该使用@Max(9000)
,因为@Size
仅应用于数组,字符串,集合和映射。
public class Configuration {
@Max(9000)
private Integer maxIterations;
// ...
}
另外,您应该在控制器内使用@Valid
批注,以便Bean验证程序知道Configuration
类中存在约束,例如:
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public String doSomething(@Valid @RequestBody Configuration configuration) {
// ...
}