我在spring @RestController
中使用hibernate validations
来验证传入的请求。
问题:我希望在多个端点中重用相同的DTO
对象。但只按条件验证某些字段(例如,仅在特定端点上)。
@RestController
public class ProductsServlet {
@GetMapping("/avail/product")
public Object avail(@Valid ProductDTO product) {
//should validate id field only
}
@GetMapping("/sell/product")
public Object sell(@Valid(with = GroupFuture.class) ProductDTO product) {
//should validate id + from field
}
}
public class ProductDTO {
@NotNull
@NotBlank
private String id;
@Future(groups = GroupFuture.class)
private Date from;
}
当然,@Valid(with = GroupFuture.class)
语句是无效的。但它显示了我正在努力实现的目标。
这有可能吗?
https://stackoverflow.com/questions/47455564
复制