詳解SpringBoot如何優(yōu)雅的進(jìn)行前后端通信
寫在前面
對于初學(xué)者來說,困難的不是理論知識,而是如何在程序中具體實(shí)現(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實(shí)體對象 @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é)果
以上就是詳解SpringBoot如何優(yōu)雅的進(jìn)行前后端通信的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot前后端通信的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot如何實(shí)現(xiàn)分離資源文件并打包
這篇文章主要介紹了SpringBoot如何實(shí)現(xiàn)分離資源文件并打包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06SpringBoot如何接收數(shù)組參數(shù)的方法
這篇文章主要介紹了SpringBoot如何接收數(shù)組參數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12Spring探秘之如何妙用BeanPostProcessor
BeanPostProcessor也稱為Bean后置處理器,它是Spring中定義的接口,在Spring容器的創(chuàng)建過程中會回調(diào)BeanPostProcessor中定義的兩個方法,這篇文章主要給大家介紹了關(guān)于Spring探秘之如何妙用BeanPostProcessor的相關(guān)資料,需要的朋友可以參考下2022-01-01Java中new關(guān)鍵字和newInstance方法的區(qū)別分享
在初始化一個類,生成一個實(shí)例的時候,newInstance()方法和new關(guān)鍵字除了一個是方法一個是關(guān)鍵字外,最主要的區(qū)別是創(chuàng)建對象的方式不同2013-07-07Java文件處理之使用XWPFDocument導(dǎo)出Word文檔
最近因項目開發(fā)的需要,整理了一份用JAVA導(dǎo)出WORD文檔,下面這篇文章主要給大家介紹了關(guān)于Java文件處理之使用XWPFDocument導(dǎo)出Word文檔的相關(guān)資料,需要的朋友可以參考下2023-12-12詳解用Kotlin寫一個基于Spring Boot的RESTful服務(wù)
這篇文章主要介紹了詳解用Kotlin寫一個基于Spring Boot的RESTful服務(wù) ,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05SpringBoot3.x打包Docker容器的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot3.x打包Docker容器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11淺談Java消息隊列總結(jié)篇(ActiveMQ、RabbitMQ、ZeroMQ、Kafka)
這篇文章主要介紹了淺談Java消息隊列總結(jié)篇(ActiveMQ、RabbitMQ、ZeroMQ、Kafka),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05