我有以下格式的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
。
我在这里做错了吗?
答案 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"}
传递