Spring Boot 傳參

最近一直在學習Spring Boot,今天將其中的從前臺過來的參數(shù)傳遞總結一下。

1.Get取參數(shù)

1.1@PathVariable

需要在path中取相應的參數(shù)時可以使用這個注解。

@RequestMapping("/get/user/{id}")
    public String getUserId(@PathVariable(value = "id") String id) {
        log.info("id: {}", id);
        return "id: " + id;
    }

測試結果:


get parameter from path

1.2@RequestParameter

需要通過url中的方式來傳遞參數(shù)的話我們通過@RequestParameter來進行傳遞

 @RequestMapping("/get/userName")
    public String getUserName(@RequestParam("name") String name) {
        log.info("userName : {}", name);
        return "UserName: " + name;
    }

測試結果:


get parameter

2.Post 傳遞參數(shù)

2.1@RequestParameter

在post中也可以通過RequestParameter來進行參數(shù)的傳遞,注意的一點就是header中的Content-Type不能為application/json,不然會報錯。

 @RequestMapping(value = "/post/requestParam/getUserName", method = RequestMethod.POST)
    public String postUserName(@RequestParam(value = "name") String name) {
        log.info("userName : {}", name);
        return "UserName: " + name;
    }

測試結果:


2.2@RequestBody

  • 第一種用法是轉換成map
@RequestMapping(value = "/post/requestBody/getUserName", method = RequestMethod.POST)
    public String postUserNameByRequestBody(@RequestBody Map<String, Object> map) {
        String name = (String) map.get("name");
        log.info("userName : {}", name);
        return "UserName: " + name;
    }

測試結果


  • 第二種用法是轉換成實體類
@RequestMapping(value = "/post/requestBody/object/getUserName")
    public String postUserNameByObject(@RequestBody User user) {
        String name = user.getName();
        log.info("userName : {}", name);
        return "UserName: " + name;
    }

git地址:https://gitee.com/xuzhangRIchard/spring-boot-parameter-transfer

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容