[英]Spring REST - Array inside RequestBody only contains one Element
[英]Spring REST @RequestBody validation in specific order and only one of group mandatory fields
可以說,我下面是使用@RequestBody
進入Controller的入口方法的bean
public class MyRequestBean extends RequestBean {
private static final long serialVersionUID = 1L;
private String lastName ;
private String firstName ;
private String ssnNumber;
private String groupCd;
}
我已經將@Valid
放在-@ @RequestBody
旁邊的入口點方法中。
我正在努力實現兩件事,
ssnNumber
是絕對必填字段-如果其為空或為ssnNumber
則無需驗證其他任何內容。 只需返回錯誤消息。
如果ssnNumber
是有效的,看看是否有任何三個字段- firstName
, lastName
和groupCd
與有效@NotNull
& @NotEmpty
。 如果存在任何字段,請處理該請求。
我該如何實現?
我將這兩個依賴項用於驗證目的,
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
驗證API為-1.1.0.Final和Hibernate驗證程序為-5.3.4.Final
編輯:可能重復的鏈接正在談論JSON字段順序。 就我而言,現場訂單並不重要。 其關於現場驗證順序。 我想念什么嗎?
我沒有找到一種使用注釋的方法,即使用注釋對字段進行驗證。
我最終寫我自定義的驗證講座MyValidator
通過實施- org.springframework.validation.Validator
,寫我的有序邏輯那里,然后補充說,驗證該控制器在控制器類,
@InitBinder
public void globalInitBinder(WebDataBinder binder) {
binder.addValidators(new MyValidator());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.