springboot優(yōu)雅獲取前端參數(shù)的方法詳解
寫在前面
對于初學(xué)者來說,困難的不是理論知識,而是如何在程序中具體實現(xiàn)。
現(xiàn)在的項目基本上都是前后端分離的項目,如何打通前后端,接收前端傳過來的參數(shù)呢?
廢話不多說,這篇文章就來說一說接收前端參數(shù)的具體操作
一、獲取路徑中的值
1.1 核心代碼
@GetMapping("/getArticle/{id}")
public Article getArticle(@PathVariable("id") Long id){
System.out.println("獲取到路徑中的值為:"+id);
return parmsService.findArticleById(id);
}1.2 測試結(jié)果
在訪問“http://localhost:8080/article/1” 時,程序會自動將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 測試結(jié)果
這里的參數(shù)和上面的不一樣,這里的參數(shù)是通過“=”隔開的,多個參數(shù)使用&分割。 例如測試?yán)又械?ldquo;http://localhost:8080/?name=小凡&sex=男&age=18”


三、通過Bean接收對象參數(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 測試結(jié)果
這里直接將前端傳過來的參數(shù)映射到User 對象上


四、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 測試結(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 測試結(jié)果


六、 用@RequestBody 接收json數(shù)據(jù)
6.1 核心代碼
//① 定義User實體對象
@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 測試結(jié)果


七、接收文件 MultipartFile
7.1 核心代碼
@PostMapping("/singleFileUpload")
public String singleFileUpload(@RequestParam("file") MultipartFile file){
//文件存儲路徑
final String BASE_PATH = "E:\\xiezhrspace\\parm-demo\\";
if(file.isEmpty()){
return "文件為空";
}
//獲取文件名
String fileName = file.getOriginalFilename();
try {
//新建一個文件路徑
File dest = new File(BASE_PATH + fileName);
//判斷路徑是否存在,如果不存在就創(chuàng)建一個
if(!dest.getParentFile().exists()){
dest.getParentFile().mkdirs();
}
//將上傳文件保存到一個目標(biāo)文件當(dāng)中
file.transferTo(dest);
} catch (IOException e) {
e.printStackTrace();
}
return "上傳成功";
}7.2 測試結(jié)果


到此這篇關(guān)于springboot優(yōu)雅獲取前端參數(shù)的方法詳解的文章就介紹到這了,更多相關(guān)springboot獲取前端參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Effective Java 在工作中的應(yīng)用總結(jié)
《Effective Java》是一本經(jīng)典的 Java 學(xué)習(xí)寶典,值得每位 Java 開發(fā)者閱讀。下面文章即是將書中和平日工作較密切的知識點做了部分總結(jié),需要的朋友可以參考下2021-09-09
通過Feign進(jìn)行調(diào)用@FeignClient?找不到的解決方案
這篇文章主要介紹了通過Feign進(jìn)行調(diào)用@FeignClient?找不到的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Java設(shè)計模式模板方法模式(Template)用法解析
這篇文章主要介紹了Java設(shè)計模式模板方法模式(Template)用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-11-11
feign服務(wù)端發(fā)現(xiàn)異??蛻舳颂幚淼姆椒ń榻B
這篇文章主要給大家介紹了關(guān)于feign服務(wù)端發(fā)現(xiàn)異常客戶端處理的方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用feign具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Java實現(xiàn)一鍵獲取Mysql所有表字段設(shè)計和建表語句的工具類
這篇文章主要為大家詳細(xì)介紹了如何利用Java編寫一個工具類,可以實現(xiàn)一鍵獲取Mysql所有表字段設(shè)計和建表語句,感興趣的小伙伴可以了解一下2023-05-05

