接口入參--注解


注解使用:
@RequestParam("前端的名稱") 加了如果參數沒傳就報參數錯誤。沒加就都可以訪問。

@RequestMapping("/list")
public String test(@RequestParam Long parentId) {

}
@RequestMapping("/list")
public String test( Long parentId) {

}

第一種必須帶有參數,也就是說你直接輸入localhost:8080/list 會報錯 不會執行方法 只能輸入localhost:8080/list?parentId=? 才能執行相應的方法

第二種 可帶參數也可不帶參數 就是說你輸入 localhost:8080/list 以及 localhost:8080/list?parentId=? 方法都能執行
當然你也可以設置 @RequestParam 里面的required為false(默認為true 代表必須帶參數) 這樣就跟第二種是一樣的了

@RequestMapping("/list")
public String test(@RequestParam(value="id") Long parentId) {
..
}
這樣會用id 代替parentId 也就是說你地址里面傳入的參數名稱為id localhost:8080/list?id=? 這種


----因此綜上所述,如果為get請求時,后台接收參數的注解應該為RequestParam,如果為post請求時,則后台接收參數的注解就是為RequestBody。

----另外,還有一種應用場景,接口規范為resultful風格時,舉個例子:如果要獲取某個id下此條問題答案的查詢次數的話,則后台就需要動態獲取參數,其注解為@PathVariable,並且requestMapping中的value應為value="/{id}/queryNum",

@GetMapping是一個組合注解,是@RequestMapping(method = RequestMethod.GET)的縮寫。

 

@PostMapping是一個組合注解,是@RequestMapping(method = RequestMethod.POST)的縮寫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM