2017-10-21 375 views
0

我有一個標準的@RestController方法。我介紹爲了一個參數對象(MyMapQuery),以避免大量的方法參數:如何在Spring的@RestController中驗證參數對象中的url參數包

@RestController 
public class MyController { 
    @RequestMapping(value = "/api/search") 
    @ResponseBody 
    public SearchResponse search(MyMapQuery query) { 
    [...] 
    } 

MyMapQuery是標準Java豆與setter和getter,所以當我傳遞多個URL參數http://.../api/search?west=1&east=2&north=20&south=0,他們是正確填寫英寸

如何在一些url參數上實現所需的驗證?

當參數映射如下時,Spring會自動響應400(錯誤請求),但在MyMapQuery的情況下不會進行驗證。

public SearchResponse search(@RequestParam BigDecimal east, @RequestParam BigDecimal west, ...) { 

回答

0

只需使用

public SearchResponse search(@Valid MyMapQuery query) { 

和必要的豆驗證添加註解MyMapQuery領域。