springboot優(yōu)雅獲取前端參數(shù)的方法詳解
寫(xiě)在前面
對(duì)于初學(xué)者來(lái)說(shuō),困難的不是理論知識(shí),而是如何在程序中具體實(shí)現(xiàn)。
現(xiàn)在的項(xiàng)目基本上都是前后端分離的項(xiàng)目,如何打通前后端,接收前端傳過(guò)來(lái)的參數(shù)呢?
廢話(huà)不多說(shuō),這篇文章就來(lái)說(shuō)一說(shuō)接收前端參數(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é)果
在訪(fǎng)問(wèn)“http://localhost:8080/article/1” 時(shí),程序會(huì)自動(dòng)將URL中的模板變量{id} 綁定到通過(guò)@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ù)是通過(guò)“=”隔開(kāi)的,多個(gè)參數(shù)使用&分割。 例如測(cè)試?yán)又械?ldquo;http://localhost:8080/?name=小凡&sex=男&age=18”


三、通過(guò)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 "添加用戶(hù)成功";
}3.2 測(cè)試結(jié)果
這里直接將前端傳過(guò)來(lái)的參數(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 "添加書(shū)籍成功";
}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-10
Java SpringMVC的@RequestMapping注解使用及說(shuō)明
這篇文章主要介紹了Java SpringMVC的@RequestMapping注解使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
java基于正則提取字符串中的數(shù)字功能【如提取短信中的驗(yàn)證碼】
這篇文章主要介紹了java基于正則提取字符串中的數(shù)字功能,可用于提取短信中的驗(yàn)證碼,涉及java基于正則的字符串匹配相關(guān)操作技巧,需要的朋友可以參考下2017-01-01
使用XML配置c3p0數(shù)據(jù)庫(kù)連接池
這篇文章主要為大家詳細(xì)介紹了使用XML配置c3p0數(shù)據(jù)庫(kù)連接池,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
Java框架入門(mén)之簡(jiǎn)單介紹SpringBoot框架
今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著SpringBoot框架展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java控制臺(tái)輸入數(shù)組并逆序輸出的方法實(shí)例
這篇文章主要介紹了Java手動(dòng)輸入數(shù)組并逆向輸出的方法實(shí)例,需要的朋友可以參考下。2017-08-08
JavaMe開(kāi)發(fā)自適應(yīng)滾動(dòng)顯示
我們??吹揭恍L動(dòng)顯示的實(shí)例,比如UC瀏覽器中,顯示網(wǎng)頁(yè)的內(nèi)容。當(dāng)內(nèi)容比較多時(shí),采用滾動(dòng)分頁(yè)顯示是合理的。在Canvas中繪圖中,多余的內(nèi)容被截?cái)嗔恕H绾螌?shí)現(xiàn)滾動(dòng)分頁(yè)顯示呢?2015-09-09
JAVA過(guò)濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法示例
這篇文章主要介紹了JAVA過(guò)濾標(biāo)簽實(shí)現(xiàn)將html內(nèi)容轉(zhuǎn)換為文本的方法,涉及java針對(duì)HTML代碼的正則替換相關(guān)操作技巧,需要的朋友可以參考下2017-07-07

