2017-10-21 131 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领域。