我的应用程序中有 Rest Controller,其代码片段如下所示:-
@RestController
@RequestMapping("/api/v1/user")
public class UserRestControllerV1 {
@PostMapping("")
public Response registerUser(@RequestBody @Valid final Request<UserDto> request,
final HttpServletRequest httpServletRequest,
BindingResult result){
Response response = new Response(request);
if(result.hasErrors()){
response.setData(new String("Error"));
}else {
response.setData(new String("Test"));
}
return response;
}
请求类:-
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Request<T> {
@JsonProperty(value = "co-relation-id")
private String coRelationID;
@NotNull(message = "The request body should be present")
private T data;
/*
..... various other fields
Getters / Setters
*/
}
UserDto 类:-
public class UserDto {
@NotNull(message = "The username should not be null")
private String username;
@NotNull(message = "The password should not be null")
@JsonIgnore
private String password;
/*
..... various other fields
Getters / Setters
*/
}
问题:我在这里的验证有问题。该场private T data
在请求类得到确认,但里面T中的领域-的情况下UserDto没有得到验证。
所以我需要知道实现这一点的方法或代码片段。
我已经尝试在配置中配置休眠验证器 bean,但它在场景中没有帮助
@Valid 约束将指示 Bean Validator 深入研究其应用属性的类型并验证在那里找到的所有约束。
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Request<T> {
@JsonProperty(value = "co-relation-id")
private String coRelationID;
//@NotNull(message = "The request body should be present")
@Valid
private T data;
/*
..... various other fields
Getters / Setters
*/
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句