我使用spring-boot 1.4.3.RELEASE创建Web服务,而在使用http://localhost:7211/person/get/ram
发出请求时,我的id属性为null
@RequestMapping(value="/person/get/{id}", method=RequestMethod.GET, produces="application/json")
public @ResponseBody Person getPersonById(@PathParam("id") String id) {
return personService.getPersonById(id);
}
你可以建议我,我有什么遗漏。
答案 0 :(得分:33)
答案 1 :(得分:7)
如上所述,应该使用 @PathVariable ,我认为是要清除 @PathVariable和@PathParam之间的混淆。
大多数人对此感到困惑,因为 Spring和其他Jersey实现对同一件事使用明显不同的注释。
@QueryParam
在泽西岛在Spring Rest API中是 @RequestParam
。
@PathParam
在泽西岛在Spring Rest API中是 @PathVariable
。
答案 2 :(得分:0)
id
应为Long
,而不是String
@PathVariable
。如果是,那么......
@RequestMapping(value="/person/get/{id}", method=RequestMethod.GET, produces="application/json")
public @ResponseBody Person getPersonById(@PathVariable("id") Long id) {
return personService.getPersonById(id);
}
答案 3 :(得分:0)
使用@PathVariable注释代替@PathParam。