Get請求之接受參數


 

@PathVariable和@RequestParm的區別:

@PathVariable是從url地址中取值,
而@RequestParm是從鍵值對的參數中取值,
都可以為變量名起別名

演示示例

01 從url中獲取單個參數

localhost:8999/callback/auth

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各種參數效驗

 

注意事項:不能為多個get請求賦同一個請求地址,不同rest風格的請求可以,比如post和get可以用同一個地址

演示代碼及地址

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;
    }

}

 


免責聲明!

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



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