2013-06-04 3 views
5

아래는 내 봄 MVC REST 서비스의 POST 끝점입니다. 내가받은 목록이 비어 있지 않은지 확인하기 위해 봄 유효성 검사 프레임 작업을 사용하고 싶습니다. 어떻게해야합니까? wrapper bean을 listOfLongs에 제공해야합니까?Spring MVC에서 Bean이 아닌 요청 매개 변수의 유효성을 검사하는 방법은 무엇입니까?

@RequestMapping(value = "/some/path", method = RequestMethod.POST) 
    @ResponseBody 
    public Foo bar(@Valid @NotEmpty @RequestBody List<Long> listOfLongs) { 

    /* if (listOfLongs.size() == 0) { 
      throw new InvalidRequestException(); 
     } 
    */ 

     // do some useful work 
    } 

요청 본문은 무엇이되어야합니까?

1) [123,456,789] 
2) { listOfLongs : [123,456,789]} 

답변

4

래퍼 빈을 제공하는 것이 좋습니다.

class LongList { 

@NotEmpty 
private List<Long> listOfLongs; 

// Setters and Getters ... 

} 

그런 다음, 요청 기관은 PARAM 만 문자열 인 경우, 유효성을 확인하는 방법 { listOfLongs : [123,456,789]}

@RequestMapping(value = "/some/path", method = RequestMethod.POST) 
@ResponseBody 
public Foo bar(@Valid @RequestBody LongList listOfLongs) { 

    // do some useful work 
} 
+0

을해야 하는가? 그리고 포장하고 싶지 않아. – Cengiz

+0

왜 이런 좋은 습관이 있습니까? –