0

는 말할 수 그룹 필수 필드 중 하나는, 내가 진입 점 방법에 @Valid을 뒀다 @RequestBody봄 REST @RequestBody의 특정 순서 검증 및

public class MyRequestBean extends RequestBean { 

    private static final long serialVersionUID = 1L; 

    private String lastName ; 
    private String firstName ; 
    private String ssnNumber; 
    private String groupCd; 

} 

사용하여 내 컨트롤러의 입력 방법에서 얻을 콩 아래에 있습니다 옆에 - @RequestBody.

나는

  1. ssnNumber

    는 절대 필수 필드, 두 가지를 달성하기 위해 노력하고 - 필요 아무것도 유효성을 검사하는 -의 빈 또는 null이 경우. 오류 메시지 만 반환하면됩니다. firstName, lastNamegroupCd@NotNull & @NotEmpty와 유효 - ssnNumber이 유효

  2. 경우 세 개의 필드 중 하나가 경우를 참조하십시오. 필드가 있으면 요청을 처리하십시오.

어떻게하면됩니까? 나는 검증 목적으로이 두 종속성을 사용하고

,

<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 & 최대 절전 모드 검사기입니다 - 5.3.4.Final

편집 : 가능한 중복 링크가 JSON 필드 순서에 대해 이야기하고 있습니다. 필자의 경우 현장 주문은 중요하지 않습니다. 그것의 필드 유효성 검사 순서. 내가 놓친 게 있니?

+0

[잭슨 ObjectMapper의 사용 가능한 복제 -

나는 결국 구현하여 내 사용자 지정 유효성 검사기 클래스 - MyValidator을 써야했다 - 개체 속성의 직렬화 순서를 지정] (http://stackoverflow.com/questions/27577701/jackson-objectmapper-specify-serialization-order-of-object-properties) –

+0

복제본이 아니므로 요청 빈과 관련된 JSON 필드 순서가 필요합니다. 확인? 내가 놓친 게 있니? –

답변

0

주석을 사용하여 필드 유효성 검사를 주문할 수있는 방법을 찾지 못했습니다. , org.springframework.validation.Validator을 거기 내 주문 논리를 기록한 다음, 컨트롤러 클래스에 해당 컨트롤러에 대해 그 유효성 검사기를 추가

@InitBinder 
    public void globalInitBinder(WebDataBinder binder) { 
     binder.addValidators(new MyValidator()); 
    }