最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解SpringBoot如何優(yōu)雅的進行前后端通信

 更新時間:2024年03月19日 08:22:54   作者:xiezhr  
現(xiàn)在的項目基本上都是前后端分離的項目,如何打通前后端,接收前端傳過來的參數(shù)呢,下面小編就來和大家詳細介紹一下SpringBoot如何優(yōu)雅的進行前后端通信

寫在前面

對于初學者來說,困難的不是理論知識,而是如何在程序中具體實現(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 測試結果

在訪問“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 測試結果

這里的參數(shù)和上面的不一樣,這里的參數(shù)是通過“=”隔開的,多個參數(shù)使用&分割。 例如測試例子中的“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 測試結果

這里直接將前端傳過來的參數(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 測試結果

五、用@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 測試結果

六、 用@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 測試結果

七、接收文件 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();
        }
        //將上傳文件保存到一個目標文件當中
        file.transferTo(dest);
?
    } catch (IOException e) {
        e.printStackTrace();
    }
    return "上傳成功";
}

7.2 測試結果

以上就是詳解SpringBoot如何優(yōu)雅的進行前后端通信的詳細內(nèi)容,更多關于SpringBoot前后端通信的資料請關注腳本之家其它相關文章!

相關文章

  • SpringBoot中實現(xiàn)異步調用@Async詳解

    SpringBoot中實現(xiàn)異步調用@Async詳解

    這篇文章主要介紹了SpringBoot中實現(xiàn)異步調用@Async詳解,在SpringBoot的日常開發(fā)中,一般都是同步調用的,但實際中有很多場景非常適合使用異步來處理,需要的朋友可以參考下
    2024-01-01
  • Springcloud Nacos基本操作代碼實例

    Springcloud Nacos基本操作代碼實例

    這篇文章主要介紹了Springcloud Nacos基本操作代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • java中基本注解的知識點總結

    java中基本注解的知識點總結

    在本篇文章里小編給大家整理的是一篇關于java中基本注解的知識點總結,有需要的朋友們可以跟著學習下。
    2021-06-06
  • Intellij idea遠程debug連接tomcat實現(xiàn)單步調試

    Intellij idea遠程debug連接tomcat實現(xiàn)單步調試

    這篇文章主要介紹了Intellij idea遠程debug連接tomcat實現(xiàn)單步調試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java 線程的生命周期完整實例分析

    Java 線程的生命周期完整實例分析

    這篇文章主要介紹了Java 線程的生命周期,結合完整實例形式分析了java線程周期相關的加鎖、釋放鎖、阻塞、同步等原理與操作技巧,需要的朋友可以參考下
    2019-10-10
  • 關于Java中的頂層類修飾問題

    關于Java中的頂層類修飾問題

    這篇文章主要介紹了關于Java中的頂層類修飾問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringData JPA中@OneToMany和@ManyToOne的用法詳解

    SpringData JPA中@OneToMany和@ManyToOne的用法詳解

    這篇文章主要介紹了SpringData JPA中@OneToMany和@ManyToOne的用法詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java Swing 只關閉當前窗體的實現(xiàn)

    Java Swing 只關閉當前窗體的實現(xiàn)

    這篇文章主要介紹了Java Swing 只關閉當前窗體的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 關于Java的Character類詳解

    關于Java的Character類詳解

    這篇文章主要介紹了關于Java的Character類詳解,Java中的Character類是一個包裝類,用于封裝一個基本數(shù)據(jù)類型char的值,它提供了一些靜態(tài)方法來操作字符,需要的朋友可以參考下
    2023-05-05
  • Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標點輸入無效的完美解決方法

    Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標點輸入無效的完美解決方法

    Mac OS X 下基于 Java 的程序會出現(xiàn)中文標點輸入無效的問題,在中文輸入法狀態(tài),可以輸入中文字,但輸入中文標點最后上去的是英文標點.這篇文章主要介紹了Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文標點輸入無效的完美解決方法,需要的朋友可以參考下
    2016-10-10

最新評論

九江县| 仁化县| 土默特右旗| 米脂县| 华池县| 大姚县| 股票| 县级市| 青铜峡市| 南宫市| 民乐县| 陆良县| 安徽省| 丽江市| 宁化县| 贞丰县| 宜州市| 乳源| 庆安县| 巨鹿县| 咸阳市| 二连浩特市| 湖州市| 利津县| 修水县| 离岛区| 新平| 富民县| 金堂县| 郴州市| 汕尾市| 亚东县| 饶河县| 江城| 枞阳县| 怀仁县| 渝北区| 白水县| 登封市| 定襄县| 新泰市|