詳解SpringBoot Controller接收參數(shù)的幾種常用方式
第一類:請(qǐng)求路徑參數(shù)
1、@PathVariable
獲取路徑參數(shù)。即url/{id}這種形式。
2、@RequestParam
獲取查詢參數(shù)。即url?name=這種形式
例子
GET
http://localhost:8080/demo/123?name=suki_rong
對(duì)應(yīng)的java代碼:
@GetMapping("/demo/{id}") public void demo(@PathVariable(name = "id") String id, @RequestParam(name = "name") String name) { System.out.println("id="+id); System.out.println("name="+name); }
輸出結(jié)果:
id=123
name=suki_rong
第二類:Body參數(shù)
因?yàn)槭荘OST請(qǐng)求,這里用Postman的截圖結(jié)合代碼說(shuō)明
1、@RequestBody
例子
對(duì)應(yīng)的java代碼:
@PostMapping(path = "/demo1") public void demo1(@RequestBody Person person) { System.out.println(person.toString()); }
輸出結(jié)果:
name:suki_rong;age=18;hobby:programing
也可以是這樣
@PostMapping(path = "/demo1") public void demo1(@RequestBody Map<String, String> person) { System.out.println(person.get("name")); }
輸出結(jié)果:
suki_rong
2、無(wú)注解
例子
對(duì)應(yīng)的java代碼:
@PostMapping(path = "/demo2") public void demo2(Person person) { System.out.println(person.toString()); }
輸出結(jié)果:
name:suki_rong;age=18;hobby:programing
Person類
public class Person { private long id; private String name; private int age; private String hobby; @Override public String toString(){ return "name:"+name+";age="+age+";hobby:"+hobby; } // getters and setters }
第三類:請(qǐng)求頭參數(shù)以及Cookie
1、@RequestHeader
2、@CookieValue
例子
java代碼:
@GetMapping("/demo3") public void demo3(@RequestHeader(name = "myHeader") String myHeader, @CookieValue(name = "myCookie") String myCookie) { System.out.println("myHeader=" + myHeader); System.out.println("myCookie=" + myCookie); }
也可以這樣
@GetMapping("/demo3") public void demo3(HttpServletRequest request) { System.out.println(request.getHeader("myHeader")); for (Cookie cookie : request.getCookies()) { if ("myCookie".equals(cookie.getName())) { System.out.println(cookie.getValue()); } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- SpringBoot在接收參數(shù)的七種方式詳解
- SpringBoot Controller接收參數(shù)的幾種常用方式
- SpringBoot在Controller層接收參數(shù)的n種姿勢(shì)(超詳細(xì))
- SpringBoot開(kāi)發(fā)詳解之Controller接收參數(shù)及參數(shù)校驗(yàn)
- SpringBoot實(shí)現(xiàn)前后端、json數(shù)據(jù)交互以及Controller接收參數(shù)的幾種常用方式
- Springboot?接口需要接收參數(shù)類型是數(shù)組問(wèn)題
- SpringBoot中Get請(qǐng)求和POST請(qǐng)求接收參數(shù)示例詳解
相關(guān)文章
Java中的super關(guān)鍵字_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java中的super關(guān)鍵字的相關(guān)知識(shí),需要的朋友參考下2017-04-04SpringBoot關(guān)于自動(dòng)注入mapper為空的坑及解決
這篇文章主要介紹了SpringBoot關(guān)于自動(dòng)注入mapper為空的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07mybatis源碼解讀-Java中executor包的語(yǔ)句處理功能
這篇文章主要介紹了Java中executor包的語(yǔ)句處理功能,在mybatis映射文件中傳參數(shù),主要用到#{}或者${},下文圍繞相關(guān)資料展開(kāi)詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2022-02-02spring cloud整合ribbon問(wèn)題及解決方案
很多小伙伴在整合ribbon都出了相同的問(wèn)題,今天特地為大家整理了該問(wèn)題的解決方案,文中有非常詳細(xì)的圖文解說(shuō),對(duì)出現(xiàn)同樣問(wèn)題的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05java二叉樹(shù)的幾種遍歷遞歸與非遞歸實(shí)現(xiàn)代碼
這篇文章主要介紹了java二叉樹(shù)的幾種遍歷遞歸與非遞歸實(shí)現(xiàn)代碼,需要的朋友可以參考下2020-12-12Java開(kāi)發(fā)環(huán)境jdk 1.8安裝配置方法(Win7 64位系統(tǒng)/windows server 2008)
這篇文章主要介紹了Java開(kāi)發(fā)環(huán)境配置方法(Win7 64位系統(tǒng)/windows server 2008),需要的朋友可以參考下2016-10-10java基于JSON實(shí)現(xiàn)前后端交互(附代碼)
本文主要介紹了java基于JSON實(shí)現(xiàn)前后端交互,通過(guò)實(shí)際代碼示例展示了如何前后端JSON交互,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01