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

SpringBoot中REST API 接口傳參的實(shí)現(xiàn)

 更新時(shí)間:2023年12月10日 09:48:44   作者:Jimmy  
我們?cè)陂_發(fā)?REST API?的過程中,經(jīng)常需要傳遞參數(shù),本文主要介紹了SpringBoot中REST API 接口傳參的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下

我們?cè)陂_發(fā) REST API 的過程中,經(jīng)常需要傳遞參數(shù),那么,我們可以怎么做呢?本文,我們將探討 Spring Boot 項(xiàng)目中三種傳遞參數(shù)的方式,如下??

  • @PathVariable
  • @RequestParam
  • @RequestBody

什么是 REST API?REST API 是基于 REST 架構(gòu)原則設(shè)計(jì)的一組規(guī)范和約定,用于在不同軟件系統(tǒng)之間進(jìn)行通信。

測(cè)試環(huán)境

  • macOs Monterey 12.4 (Apple M1)
  • IntelliJ IDEA 2021.2.2(Ultimate Edition)
  • java --version (17.0.7)
  • maven version 3.9.2
  • Spring Boot version 3.2.0
  • Postman version 8.12.1

相關(guān)依賴

這里我們不考慮數(shù)據(jù)庫、security 等的引入,相關(guān)的依賴比較簡(jiǎn)單,如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

spring-boot-starter-web 是用于開發(fā)基于 Spring Boot 的 Web 應(yīng)用程序的起步依賴,支持 RESTful API 的開發(fā)。

PS:當(dāng)然,我們后期可以引入數(shù)據(jù)庫、JWT 等操作,但是,這個(gè)知識(shí)點(diǎn)并不是本文的重點(diǎn)

@PathVariable 注解

@PathVariable 注解用于從 URI 中提取模版變量,并將其綁定到方法的參數(shù)上。如下:

@RestController
@RequestMapping("/api")
public class HelloController {
  @GetMapping("/hello/{name}")
  public String sayHello(@PathVariable String name) {
    return "Hello, " + name + "!";
  }
}

啟動(dòng)程序,在 postman 中輸入 http://localhost:8080/api/hello/Jimmy,即可看到輸出 Hello, Jimmy! 的返回信息。如下圖??

上面的 @GetMapping("/hello/{name}") 和 @PathVariable String name 其實(shí)是省略了同名的寫法,如果 GetMapping 中路徑變量和方法的參數(shù)變量不同名,我們需要做下調(diào)整。

@RestController
@RequestMapping("/api")
public class HelloController {
  @GetMapping("/hello/{username}")
  public String sayHello(@PathVariable("username") String name) {
    return "Hello, " + name + "!";
  }
}

上面的運(yùn)行效果跟截圖展示的效果一樣。

@RequestParam 注解

@RequestParam 注解將 HTTP 請(qǐng)求中的參數(shù)值映射到方法的參數(shù)上。如下示范:

@RestController
@RequestMapping("/api")
public class ParamController {
  @RequestMapping("/param")
  public String requestParamDemo(@RequestParam String name) {
    return "Hello, " + name + "!";
  }
}

我們?cè)?nbsp;postman 上請(qǐng)求 http://localhost:8080/api/param?name=Jimmy,可看到輸出 Hello, Jimmy! 的字樣。

上面的代碼中傳參還可以是下面的這種推薦寫法:

@RestController
@RequestMapping("/api")
public class ParamController {
  @RequestMapping("/param")
  public String requestParamDemo(@RequestParam("username") String name) {
    return "Hello, " + name + "!";
  }
}

這個(gè)時(shí)候,我們?cè)?nbsp;postman 上傳遞的 username 值,其實(shí)就是賦予了變量 name,如下??

@RequestBody 注解

@RequestBody 注解 注解用于處理 HTTP 請(qǐng)求體的內(nèi)容映射到方法的參數(shù)上。使用 @RequestBody 注解可以將請(qǐng)求體的內(nèi)容轉(zhuǎn)化為相應(yīng)的 Java 對(duì)象,以便在方法中處理。如下例子:

我們先創(chuàng)建一個(gè) bean 類:

@Setter
@Getter
public class Person {
  String username;
}

然后創(chuàng)建一個(gè) controller

@RestController
@RequestMapping("/api")
public class requestBodyController {
  @RequestMapping("/request-body")
  public String requestBodyDemo(@RequestBody Person person) {
      return "Hello, " + person.getUsername() + "!"; 
  }
}

在 postman 上請(qǐng)求接口 http://localhost:8080/api/request-body,在 Body 請(qǐng)求輸入 json 數(shù)據(jù),如下:

總結(jié)

本文中,我們一起學(xué)習(xí)了 @PathVariable 注解、RequestParam 注解和 RequestBody 注解來處理 HTTP 請(qǐng)求的傳遞參數(shù)。本文中的案例,我們都是使用了 Get 請(qǐng)求來模擬,但是實(shí)際上,RequestBody 用得更多的是在 POST 新增記錄和 PUT 修改記錄的情況。三個(gè)注解搭配使用,完成參數(shù)的傳遞。

到此這篇關(guān)于SpringBoot中REST API 接口傳參的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot REST API 接口傳參內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于SOA和SpringCloud的區(qū)別及說明

    關(guān)于SOA和SpringCloud的區(qū)別及說明

    這篇文章主要介紹了關(guān)于SOA和SpringCloud的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • java中TreeMap集合的常用方法詳解

    java中TreeMap集合的常用方法詳解

    本篇文章給大家?guī)淼膬?nèi)容是關(guān)于java中TreeMap集合的常用方法詳解,有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。下面我們就來學(xué)習(xí)一下吧
    2021-11-11
  • MyBatisCodeHelperPro最新激活方法(有效方法)

    MyBatisCodeHelperPro最新激活方法(有效方法)

    這篇文章主要介紹了MyBatisCodeHelperPro最新激活方法親測(cè)有效,非常好用,小編今天以idea2021.2.1為例給大家詳細(xì)講解,需要的朋友可以參考下
    2022-08-08
  • Java編程中使用JDBC API連接數(shù)據(jù)庫和創(chuàng)建程序的方法

    Java編程中使用JDBC API連接數(shù)據(jù)庫和創(chuàng)建程序的方法

    這篇文章主要介紹了Java編程中使用JDBC API連接數(shù)據(jù)庫和創(chuàng)建程序的基本教程,JDBC是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問需要的朋友可以參考下
    2015-12-12
  • Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能詳解

    Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能詳解

    這篇文章主要介紹了Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能,較為詳細(xì)的講述了橋接模式的概念、原理并結(jié)合實(shí)例形式分析了Java使用橋接模式實(shí)現(xiàn)開關(guān)和電燈照明功能相關(guān)操作步驟與注意事項(xiàng),需要的朋友可以參考下
    2018-05-05
  • Double.parseDouble()與Double.valueOf()的區(qū)別及說明

    Double.parseDouble()與Double.valueOf()的區(qū)別及說明

    這篇文章主要介紹了Double.parseDouble()與Double.valueOf()的區(qū)別及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Spring HttpMessageConverter的作用及替換解析

    Spring HttpMessageConverter的作用及替換解析

    這篇文章主要介紹了Spring HttpMessageConverter的作用及替換解析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • Java利用Spire.PDF高效實(shí)現(xiàn)將PDF轉(zhuǎn)換為PPT的完整指南

    Java利用Spire.PDF高效實(shí)現(xiàn)將PDF轉(zhuǎn)換為PPT的完整指南

    在日常工作中,我們常常需要將 PDF 文件轉(zhuǎn)換為 PPT 文件,下面將介紹如何使用 Java 語言通過 Spire.PDF 庫將 PDF 文件轉(zhuǎn)換為 PPT 文件,并包括如何進(jìn)行單文件轉(zhuǎn)換,批量轉(zhuǎn)換以及一些需要注意的事項(xiàng)
    2026-01-01
  • java之左旋轉(zhuǎn)字符串介紹

    java之左旋轉(zhuǎn)字符串介紹

    java之左旋轉(zhuǎn)字符串介紹,需要的朋友可以參考一下
    2013-02-02
  • java實(shí)現(xiàn)簡(jiǎn)單發(fā)送郵件功能

    java實(shí)現(xiàn)簡(jiǎn)單發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單發(fā)送郵件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評(píng)論

新营市| 永平县| 呈贡县| 禄劝| 高阳县| 罗山县| 深水埗区| 额尔古纳市| 祁门县| 高唐县| 张家港市| 遵义市| 湖北省| 义乌市| 驻马店市| 广安市| 宁武县| 罗江县| 义乌市| 宁化县| 东源县| 阿图什市| 化州市| 乃东县| 滨海县| 南安市| 久治县| 肥西县| 承德市| 房产| 雷波县| 久治县| 鄂温| 郁南县| 武清区| 伊金霍洛旗| 凤凰县| 浦城县| 翁牛特旗| 宜兰县| 商都县|