【发布时间】:2021-05-11 10:26:08
【问题描述】:
给定这个控制器方法。
import io.micronaut.validation.Validated;
...
@Validated
@Get(value = "test{?page*}", produces = APPLICATION_JSON)
public HttpResponse<TransactionListResponseDto> get(
PageDto page) {
Sort sort = Pageable.from(page.getPage(), page.getSize(), sortFrom(page.getSort()));
return HttpResponse.ok();
}
以及看起来像这样的 PageDto。
import javax.validation.constraints.Min;
...
@Getter
@Setter
@Introspected
@JsonInclude(NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class PageDto {
@Min(1)
private int page = 1;
private int size = 10;
private String sort;
}
必要的验证包含在 gradle 文件中。
implementation "io.micronaut:micronaut-validation:$micronautVersion"
implementation "io.micronaut.beanvalidation:micronaut-hibernate-validator:$micronautVersion"
我期待控制器方法验证参数,但我很高兴将(例如)-100 作为页码传递,尽管有验证属性。
关注documentation 和advice。
我必须得出结论,我错过了构建步骤或其他什么?
【问题讨论】:
标签: java bean-validation micronaut