java - @PathVariable 和@RequestParam 不能一起工作

标签 java spring spring-mvc spring-annotations path-variables

我的 Controller 中有以下代码:

@RequestMapping(value = "/child/{nodeId}/{relType}",method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON)    
public Iterable<Node> getConnectedNodes(@RequestParam("page")int page, @RequestParam("size")int size, @PathVariable("nodeId") String nodeId, @PathVariable("relType") String relType) {
    return nodeService.getConnectedNodes(nodeId, relType,page,size);    
}

这是我正在访问的 API URL

http://localhost:8080/node/child/e17a64ff-dc2b-49b1-a995-67dba9413d67/Collegues?page=0&size=1

在 Debug模式下,我可以看到路径变量的值,即 nodeIdrelType,但看不到请求参数 page 的值和 size 我在上面的 URL 中传递我的请求。

@RequestParam 有什么问题?

最佳答案

你能试试下面的代码片段吗:

@RequestMapping(value = "/child/{nodeId}/{relType}",method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON)    
public Iterable<Node> getConnectedNodes(@RequestParam(value="page", required=false) int page, @RequestParam(value="size", required=false) int size, @PathVariable("nodeId") String nodeId, @PathVariable("relType") String relType) {
    return nodeService.getConnectedNodes(nodeId, relType,page,size);    
}

关于java - @PathVariable 和@RequestParam 不能一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30641675/

相关文章:

java - 下面的 java 代码在没有 volatile 的情况下是线程安全的吗?

java - ".123"不接受 Spring Rest 请求 406

java - Hystrix - 如何计算线程池大小

java - 如何解决嵌套异常是 java.lang.NoClassDefFoundError : org/springframework/security/web/util/AntPathRequestMatcher

java - 从 Autowiring bean 获取数据源时出现空指针异常

java - 如何通过检查 JFrame 的组件之一是否可见来检查 JFrame 是否已打开

java - 管理标签监听器 JAVA GUI 数组

java - 使用 Spring Controller 构造型声明 Controller 与声明为 AbstractController 的子类有什么区别?

java - 从服务调用 Jasper 文件

java - Spring Web应用程序+ Hibernate问题: Unsatisfied dependency expressed through field