@PathVariable不起做用,報錯:Cannot resolve @PathVariable ' '

@PathVariable是佔位符註解。能夠把Url中變量的值傳遞到方法參數中。
示例以下:app

@PostMapping("/user/name/{id}")
@ResponseBody
public User getUserName(@PathVariable("id") Integer id){
    return userService.getUserNameById(id);
}

當咱們輸入的Url相似於 localhost:8080/user/name/1時,Controller層對應方法getUserName的參數id就會賦值爲1。
可是要注意:
1.控制層的Url佔位符{}中的變量,不要有多餘的空格。
上述的代碼,若是寫多了幾個空格,變成@PostMapping("/user/name/{ id }") ,就會有錯誤提示:post

Cannot resolve @PathVariable ' id '

2.postman請求的Url要寫對,請求的Url中不用加{}。
若是Url不當心寫成了 localhost:8080/user/name/{1},是沒法正確訪問的。只有相似 localhost:8080/user/name/1 才能夠成功訪問。code

這個註解很容易理解。主要仍是得細心一點。否則就可能會踩坑。get

相關文章
相關標籤/搜索