@PathVariable和@RequestParam没有合作

时间:2015-06-04 10:40:44

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

我的控制器中有以下代码:

@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网址

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

在调试模式下,我可以看到路径变量的值,即 nodeId relType ,但看不到请求参数页面和<的值strong> size 我在上面的网址中传递了我的请求。

@RequestParam有什么问题? 请帮忙。

1 个答案:

答案 0 :(得分:2)

您可以尝试使用以下代码段:

@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);    

}
相关问题