@PathVariable是從url地址中取值,
而@RequestParm是從鍵值對的參數中取值,
都可以為變量名起別名
演示示例
01 從url中獲取單個參數
02 從url中獲取多個參數
localhost:8999/callback/45646/body/46546
03 從請求參數中獲取值
localhost:8999/callback?auth_code=4546
注意事項:接受參數時無需考慮參數的順序問題
04 普通的接收get請求參數
localhost:8999/callback/v2?authCode=4546
05 用對象接收get請求參數
localhost:8999/get?name=test&authCode=15646548489
實體類
參數值可以為null,如果為必須參數可以加校驗,SpringBoot各種參數效驗
RestController public class CallbackController { //01 從url中獲取單個參數 //localhost:8999/callback/auth @GetMapping("/callback/{auth_code}") public String getValueByUrl(@PathVariable("auth_code") String authCode) { String result = "success:" + authCode; return result; } // 02 從url中獲取多個參數 //localhost:8999/callback/45646/body/46546 @GetMapping("/callback/{auth_code}/body/{state}") public String callbackRestTest(@PathVariable("auth_code") String authCode, @PathVariable("state") String state) { String result = "success:" + authCode + "," + state; return result; } // 03 從請求參數中獲取值 //localhost:8999/callback?auth_code=4546 @GetMapping("/callback") public String getValueByQueryParams(@RequestParam("auth_code") String authCode) { String result = "success:" + authCode; return result; } // 04 普通的接收get請求參數 //localhost:8999/callback/v2?authCode=4546 @GetMapping("/callback/v2") public String commonGetQuery(String authCode) { String result = "success:" + authCode; return result; } //05 用對象接受get請求參數 @GetMapping("/get") public String testGet(GetDTO dto) { String result = "success:" + dto; return result; } }