Internal Server Error: Missing URL template variable 'id' for method parameter of type Long的解决
编写SpringMVC rest api的时候发现这个问题.
Internal Server Error: Missing URL template variable 'id' for method parameter of type Long
类似的还有:
Internal Server Error: Missing URL template variable 'id' for method parameter of type Interger
Internal Server Error: Missing URL template variable 'id' for method parameter of type String
Internal Server Error: Missing URL template variable 'name' for method parameter of type String
Internal Server Error: Missing URL template variable 'password' for method parameter of type String
这类问题就是忘记进行类型转换吗?
不是,我们看到下面代码:
比如接口如下:
@RestController
public Error{
@Autowired
private UserService userService
@GetMapping("")
public User getUser(@PathVariable("id") Long id){
userService.query(id)
}
}
所以问题是,忘记加路径变量映射了。
编程要用正确的方法,不然解决不了问题。
解决方法:
@RestController
public Error{
@Autowired
private UserService userService
@GetMapping("{id}")//就是这里CTO忘记加id了
public User getUser(@PathVariable("id") Long id){
userService.query(id)
}
}
关注CTO,一起成功!
|