为 class 成员扩展 Spring Bean 验证
Extend Spring Bean Validation for the class members
我有一个 spring 引导应用程序,我正在使用 spring-boot-starter-validation
依赖项来验证 java bean。
我的控制器代码如下
@PostMapping("/testMessage")
ResponseEntity<String> testMethod(@Valid @RequestBody InternalMsg internalMsg) {
return ResponseEntity.ok("Valid Message");
}
内部消息class
public class InternalMsg implements Serializable {
@NotNull(message = "Msg Num is a required field")
private String msgNumber;
@NotNull(message = "Activity Name is a required field")
private String activityName;
private MsgDetails msgDetails;
}
InternalMsg 中提到的约束工作正常。但是在 MsgDetails class 上指定的约束不起作用。
消息详细信息class
public class MsgDetails {
@NotNull(message = "Message Source Name should not be null")
private String msgSourceName;
@NotBlank(message = "Message Source ID should not be empty")
private String msgSourceId;
}
是否有任何选项可以扩展对 InternalMsg class 的 class 成员的验证?
在 InternalMsg
class 中的 msgDetails
字段中添加 @Valid
注释:
public class InternalMsg implements Serializable {
@NotNull(message = "Msg Num is a required field")
private String msgNumber;
@NotNull(message = "Activity Name is a required field")
private String activityName;
@Valid // << ----
private MsgDetails msgDetails;
}
我有一个 spring 引导应用程序,我正在使用 spring-boot-starter-validation
依赖项来验证 java bean。
我的控制器代码如下
@PostMapping("/testMessage")
ResponseEntity<String> testMethod(@Valid @RequestBody InternalMsg internalMsg) {
return ResponseEntity.ok("Valid Message");
}
内部消息class
public class InternalMsg implements Serializable {
@NotNull(message = "Msg Num is a required field")
private String msgNumber;
@NotNull(message = "Activity Name is a required field")
private String activityName;
private MsgDetails msgDetails;
}
InternalMsg 中提到的约束工作正常。但是在 MsgDetails class 上指定的约束不起作用。
消息详细信息class
public class MsgDetails {
@NotNull(message = "Message Source Name should not be null")
private String msgSourceName;
@NotBlank(message = "Message Source ID should not be empty")
private String msgSourceId;
}
是否有任何选项可以扩展对 InternalMsg class 的 class 成员的验证?
在 InternalMsg
class 中的 msgDetails
字段中添加 @Valid
注释:
public class InternalMsg implements Serializable {
@NotNull(message = "Msg Num is a required field")
private String msgNumber;
@NotNull(message = "Activity Name is a required field")
private String activityName;
@Valid // << ----
private MsgDetails msgDetails;
}