@PathVariable и @RequestParam не работают вместе

У меня есть код ниже в моем контроллере:

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

И это URL-адрес API, который я нажимаю

http://localhost:8080/node/child/e17a64ff-dc2b-49b1-a995-67dba9413d67/Коллеги?page=0&size=1

Здесь, в режиме отладки, я вижу значения переменных пути, то есть nodeId и relType, но не вижу значений параметров запроса page и size, которые я передаю через свой запрос в URL-адресе выше.

Что не так с @RequestParam?


person mahendra kawde    schedule 04.06.2015    source источник


Ответы (1)


Можете ли вы попробовать с приведенным ниже фрагментом:

@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);    
}
person Arpit Aggarwal    schedule 04.06.2015