springboot優(yōu)雅獲取前端參數(shù)的方法詳解
寫在前面
對(duì)于初學(xué)者來說,困難的不是理論知識(shí),而是如何在程序中具體實(shí)現(xiàn)。
現(xiàn)在的項(xiàng)目基本上都是前后端分離的項(xiàng)目,如何打通前后端,接收前端傳過來的參數(shù)呢?
廢話不多說,這篇文章就來說一說接收前端參數(shù)的具體操作
一、獲取路徑中的值
1.1 核心代碼
@GetMapping("/getArticle/{id}") public Article getArticle(@PathVariable("id") Long id){ System.out.println("獲取到路徑中的值為:"+id); return parmsService.findArticleById(id); }
1.2 測(cè)試結(jié)果
在訪問“http://localhost:8080/article/1
” 時(shí),程序會(huì)自動(dòng)將URL中的模板變量{id} 綁定到通過@PathVariable
注解的同名參數(shù)上,所以程序中可以獲取到id=1
二、獲取路徑中的參數(shù)
2.1 核心代碼
@RequestMapping(value = "/addUser/",method = RequestMethod.POST) public String addUser(String name,String sex,int age){ System.out.println("獲取到參數(shù)中的值為:"+name+","+sex+","+age); return "添加文章成功"; }
2.2 測(cè)試結(jié)果
這里的參數(shù)和上面的不一樣,這里的參數(shù)是通過“=”隔開的,多個(gè)參數(shù)使用&分割。 例如測(cè)試?yán)又械?ldquo;http://localhost:8080/?name=小凡&sex=男&age=18
”
三、通過Bean接收對(duì)象參數(shù)
3.1 核心代碼
//①User @Data public class User { private Integer id; private String name; private String sex; private Integer age; } //接收參數(shù)方法 @PostMapping("/addnewUser/") public String addUser(User user){ System.out.println(user); return "添加用戶成功"; }
3.2 測(cè)試結(jié)果
這里直接將前端傳過來的參數(shù)映射到User
對(duì)象上
四、HttpServletRequest接收參數(shù)
4.1 核心代碼
@PostMapping("/addBook/") public String addBook(HttpServletRequest request){ String bookName = request.getParameter("bookName"); String author = request.getParameter("author"); System.out.println("獲取到參數(shù)中的值為:"+bookName+","+author); return "添加書籍成功"; }
4.2 測(cè)試結(jié)果
五、用@RequestParam接收參數(shù)
5.1 核心代碼
@GetMapping("/getParams") public String getParms(@RequestParam("param1") String param1,@RequestParam("param2") String param2){ System.out.println("獲取到參數(shù)中的值為:"+param1+","+param2); return "Param1: " + param1 + ", parm2: " + param2; }
5.2 測(cè)試結(jié)果
六、 用@RequestBody 接收json數(shù)據(jù)
6.1 核心代碼
//① 定義User實(shí)體對(duì)象 @Data public class User { private Integer id; private String name; private String sex; private Integer age; } //② 接收參數(shù) @PostMapping("/addUsers") public List<User> addUsers(@RequestBody List<User> users){ System.out.println(""+users); return users; }
6.2 測(cè)試結(jié)果
七、接收文件 MultipartFile
7.1 核心代碼
@PostMapping("/singleFileUpload") public String singleFileUpload(@RequestParam("file") MultipartFile file){ //文件存儲(chǔ)路徑 final String BASE_PATH = "E:\\xiezhrspace\\parm-demo\\"; if(file.isEmpty()){ return "文件為空"; } //獲取文件名 String fileName = file.getOriginalFilename(); try { //新建一個(gè)文件路徑 File dest = new File(BASE_PATH + fileName); //判斷路徑是否存在,如果不存在就創(chuàng)建一個(gè) if(!dest.getParentFile().exists()){ dest.getParentFile().mkdirs(); } //將上傳文件保存到一個(gè)目標(biāo)文件當(dāng)中 file.transferTo(dest); } catch (IOException e) { e.printStackTrace(); } return "上傳成功"; }
7.2 測(cè)試結(jié)果
到此這篇關(guān)于springboot優(yōu)雅獲取前端參數(shù)的方法詳解的文章就介紹到這了,更多相關(guān)springboot獲取前端參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java中關(guān)于http請(qǐng)求獲取FlexManager某設(shè)備分組監(jiān)控點(diǎn)
這篇文章主要介紹了Java中關(guān)于http請(qǐng)求獲取FlexManager某設(shè)備分組監(jiān)控點(diǎn),本文僅僅介紹了使用http請(qǐng)求獲取FlexManager平臺(tái)某個(gè)FBox盒子即某設(shè)備的監(jiān)控點(diǎn)分組的分組下的所有監(jiān)控點(diǎn)信息,需要的朋友可以參考下2022-10-10Java SpringMVC的@RequestMapping注解使用及說明
這篇文章主要介紹了Java SpringMVC的@RequestMapping注解使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01java基于正則提取字符串中的數(shù)字功能【如提取短信中的驗(yàn)證碼】
這篇文章主要介紹了java基于正則提取字符串中的數(shù)字功能,可用于提取短信中的驗(yàn)證碼,涉及java基于正則的字符串匹配相關(guān)操作技巧,需要的朋友可以參考下2017-01-01Java框架入門之簡(jiǎn)單介紹SpringBoot框架
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識(shí),文章圍繞著SpringBoot框架展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06Java控制臺(tái)輸入數(shù)組并逆序輸出的方法實(shí)例
這篇文章主要介紹了Java手動(dòng)輸入數(shù)組并逆向輸出的方法實(shí)例,需要的朋友可以參考下。2017-08-08JavaMe開發(fā)自適應(yīng)滾動(dòng)顯示
我們??吹揭恍L動(dòng)顯示的實(shí)例,比如UC瀏覽器中,顯示網(wǎng)頁的內(nèi)容。當(dāng)內(nèi)容比較多時(shí),采用滾動(dòng)分頁顯示是合理的。在Canvas中繪圖中,多余的內(nèi)容被截?cái)嗔?。如何?shí)現(xiàn)滾動(dòng)分頁顯示呢?2015-09-09JAVA過濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法示例
這篇文章主要介紹了JAVA過濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法,涉及java針對(duì)HTML代碼的正則替換相關(guān)操作技巧,需要的朋友可以參考下2017-07-07