【问题标题】:Spring Url request parameters not found未找到 Spring Url 请求参数
【发布时间】:2015-07-28 12:23:44
【问题描述】:

您好,我正在编写一个 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"}

对我有什么想法/如何调试它?

问候, 巴基尔

【问题讨论】:

  • 你的意思是@PathVariable,对吧?
  • 不,因为我没有像 localhost/{size} 那样将它编码在 URL 中,而是作为 localhost?size
  • 那么它是@RequestParam@PathParam 不是 Spring 注解...
  • 请阅读原始问题它已更新 0:)

标签: spring rest spring-boot


【解决方案1】:

&符号&amp;告诉shell在后台运行curl命令并结束命令;这就是为什么您还会收到您忽略提及的“找不到命令”错误的原因。

将整个 URI 放在引号内。

【讨论】:

    猜你喜欢
    • 2019-04-25
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多