您好我正在编写REST控制器并遇到一个有趣的问题
如果有控制器
@RequestMapping(value = "/test", method = RequestMethod.GET)
public ResponseEntity getAfterSalesFiles(@PathParam("store") final String store,
@PathParam("filter") final String filter,
@PathParam("sort") final Pageable pageable) {
System.out.println("filter " + filter);
System.out.println("page " + pageable.getPageNumber());
System.out.println("size " + pageable.getPageSize());
return new ResponseEntity<>(HttpStatus.OK);
}
当我执行以下curl命令时
curl localhost:8109/product/test?page=3&size=25&filter=cookies
我在我的控制台中获得以下内容
filter null
page 3
size 20
所以页面正确,大小和过滤器都是错误的 如果我在url中交换变量,第一个参数是正确的,其他参数是错误的
编辑: 香港专业教育学院也试过
@RequestMapping(value = "/test", method = RequestMethod.GET)
public ResponseEntity getAfterSalesFiles(@RequestParam(value = "store") final String store,
@RequestParam(value = "filter") final String filter,
@RequestParam(value ="sort") final Pageable pageable) {
System.out.println("filter " + filter);
System.out.println("page " + pageable.getPageNumber());
System.out.println("size " + pageable.getPageSize());
return new ResponseEntity<>(HttpStatus.OK);
}
和curl
curl localhost:8109/product/test?filter=cookies&store=bavo&size=25&page=3
然后我得到以下输出
{"timestamp":1438087790411,"status":400,"error":"Bad Request","exception":"org.springframework.web.bind.MissingServletRequestParameterException","message":"Required String parameter 'store' is not present","path":"/product/test"}
我有什么想法在哪里看/如何调试?
此致 Bakil
答案 0 :(得分:1)
&符号&
告诉shell在后台运行curl命令并结束命令;这就是为什么你也没有找到&#34;命令&#34;你忽略了提到的错误。
将整个URI放在引号内。