2013-06-04 18 views
5

Dưới đây là điểm cuối POST trong dịch vụ REST MVC mùa xuân của tôi. Tôi muốn sử dụng khung xác nhận mùa xuân để đảm bảo rằng danh sách tôi nhận được không trống. Tôi phải làm nó như thế nào? Tôi có phải cung cấp hạt bao bọc xung quanh listOfLongs không?Làm thế nào để xác thực tham số yêu cầu nếu nó không phải là một bean trong MVC mùa xuân?

@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 
    } 

Cơ thể yêu cầu là gì?

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

Trả lời

4

Cung cấp hạt bao bọc là thực hành tốt.

class LongList { 

@NotEmpty 
private List<Long> listOfLongs; 

// Setters and Getters ... 

} 

Sau đó, yêu cầu cơ thể nên { listOfLongs : [123,456,789]}

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

    // do some useful work 
} 
+0

Làm thế nào để xác nhận, nếu param chỉ là một String? Và không muốn quấn. – Cengiz

+0

Tại sao thực hành tốt này? –