Spring MVC解析web url对象

时间:2015-11-10 00:59:01

标签: spring spring-mvc

我有以下格式的GET请求

http://www.example.com/companies?filters=%7B%22q%22%3A%22aaa%22%7D

解码后

filters={"q":"aaa"}

我创建了一个名为Filters的对象,如下所示

public class Filters {
    private String q;
   //getter setter....
}

并在我的控制器中

@RequestMapping(method = RequestMethod.GET)
public List<CompanyDTO> getCompanies(Filters filters) {
    filters.getQ();
    //do things
}

但是,filters.getQ()null

我在这里做错了吗?

3 个答案:

答案 0 :(得分:0)

您需要将request参数与method参数相关联。将@RequestParam添加到您的方法,即

@RequestMapping(method = RequestMethod.GET)
public List<CompanyDTO> getCompanies(@RequestParam(value="filters") Filters filters) {
    filters.getQ();
    //do things
}

答案 1 :(得分:0)

使用@RequestBody

代替@RequestParam

答案 2 :(得分:0)

而不是字符串过滤器=%7B%22q%22%3A%22aaa%22%7D,将JSON对象作为参数http://www.example.com/companies?filters={"q":"aaa"}传递