没有找到Spring Url请求参数



你好,我正在写一个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 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

与字符&告诉shell在后台运行curl命令并结束该命令;这就是为什么您还会得到忽略提及的"command not found"错误。

将整个URI放入引号内。

最新更新