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

Spring Boot中的 6 種API請求參數(shù)讀取方式示例詳解

 更新時間:2024年05月23日 10:21:48   作者:程序猿DD  
使用Spring Boot開發(fā)API的時候,讀取請求參數(shù)是服務(wù)端編碼中最基本的一項操作,Spring Boot中也提供了多種機(jī)制來滿足不同的API設(shè)計要求,這篇文章主要介紹了Spring Boot中的 6 種API請求參數(shù)讀取方式示例詳解,需要的朋友可以參考下

使用Spring Boot開發(fā)API的時候,讀取請求參數(shù)是服務(wù)端編碼中最基本的一項操作,Spring Boot中也提供了多種機(jī)制來滿足不同的API設(shè)計要求。

接下來,就通過本文,為大家總結(jié)6種常用的請求參數(shù)讀取方式。如果你發(fā)現(xiàn)自己知道的不到6種,那么趕緊來查漏補(bǔ)缺一下。如果你知道的不止6種,那么告訴大家,一起互相學(xué)習(xí)一下吧~

@RequestParam

這是最最最最最最常用的一個了吧,用來加載URL中?之后的參數(shù)。

比如:這個請求/user?name=didispace 就可以如下面這樣,使用@RequestParam來加載URL中的name參數(shù)

@GetMapping("/user")
@ResponseBody()
public User findUserByName(@RequestParam("name") String name){ 
    return userRepo.findByName(name);
}

@PathVariable

這是RESTful風(fēng)格API中常用的注解,用來加載URL路徑中的參數(shù)

比如:這個請求/user/1 就可以如下面這樣,使用@PathVariable來加載URL中的id參數(shù)

@GetMapping("/user/{id}")
@ResponseBody()
public User findUserById(@PathVariable("id") String id){ 
    return userRepo.findById(id);
}

@MatrixVariable

這個我們用的并不是很多,但一些國外系統(tǒng)有提供這類API參數(shù),這種API的參數(shù)通過;分割。

比如:這個請求/books/reviews;isbn=1234;topN=5; 就可以如下面這樣,使用@MatrixVariable來加載URL中用;分割的參數(shù)

@GetMapping("/books/reviews")
@ResponseBody()
public List<BookReview> getBookReviews( 
  @MatrixVariable String isbn,  @MatrixVariable Integer topN) {
  return bookReviewsLogic.getTopNReviewsByIsbn(isbn, topN);
}

@RequestBody

這也是最常用的一個注解,用來加載POST/PUT請求的復(fù)雜請求體(也叫:payload)。比如,客戶端需要提交一個復(fù)雜數(shù)據(jù)的時候,就要將這些數(shù)據(jù)放到請求體中,然后服務(wù)端用@RequestBody來加載請求體中的數(shù)據(jù)

@PostMapping("/add")
public boolean addAccounts(@RequestBody List<Account> accounts) throws SQLException {
     accounts.stream().forEach(a -> {
         a.setCreatedOn(Timestamp.from(Instant.now()));
         a.setLastLogin(Timestamp.from(Instant.now()));
     });
     return notificationLogic.addAccounts(accounts);
}

@RequestHeader

@RequestHeader注解用來加載請求頭中的數(shù)據(jù),一般在業(yè)務(wù)系統(tǒng)中不太使用,但在基礎(chǔ)設(shè)施的建設(shè)中會比較常用,比如傳遞分布式系統(tǒng)的TraceID等。用法也很簡單,比如,假設(shè)我們將鑒權(quán)數(shù)據(jù)存在http請求頭中,那么就可以像下面這樣用@RequestHeader來加載請求頭中的Authorization參數(shù)

@GetMapping("/user")
@ResponseBody()
public List<User> getUserList(@RequestHeader("Authorization") String authToken) {
     return userRepo.findAll();
}

@CookieValue

當(dāng)我們需要與客戶端保持有狀態(tài)的交互時,就需要用到Cookie。此時,服務(wù)端讀取Cookie數(shù)據(jù)的時候,就可以像下面這樣用@CookieValue來讀取Cookie中的SessionId數(shù)據(jù)

@GetMapping("/user")
@ResponseBody()
public List<User> getUserList(@CookieValue(name = "SessionId") String sessionId) {
     return userRepo.findAll();
}

到此這篇關(guān)于Spring Boot中的 6 種API請求參數(shù)讀取方式的文章就介紹到這了,更多相關(guān)Spring Boot API請求參數(shù)讀取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中String.split()用法小結(jié)

    Java中String.split()用法小結(jié)

    這篇文章主要介紹了Java中String.split()用法小結(jié)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • Spring的RequestBodyAdvice攔截淺析

    Spring的RequestBodyAdvice攔截淺析

    本文主要介紹了Spring的RequestBodyAdvice攔截淺析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 重新認(rèn)識Java的System.in

    重新認(rèn)識Java的System.in

    今天小編就為大家分享一篇關(guān)于重新認(rèn)識Java的System.in,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • Kotlin 基礎(chǔ)教程之注解與java中的注解比較

    Kotlin 基礎(chǔ)教程之注解與java中的注解比較

    這篇文章主要介紹了Kotlin 基礎(chǔ)教程之注解與java中的注解比較的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Spring?Boot在啟動時執(zhí)行一次的功能實現(xiàn)

    Spring?Boot在啟動時執(zhí)行一次的功能實現(xiàn)

    這篇文章主要給大家介紹了關(guān)于Spring?Boot在啟動時執(zhí)行一次的功能實現(xiàn),在實習(xí)過程中,有時候會遇到一些項目啟動初始化的需求,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • idea導(dǎo)入若依項目教程

    idea導(dǎo)入若依項目教程

    文章介紹了如何在IntelliJ?IDEA中導(dǎo)入若依管理系統(tǒng)項目,并詳細(xì)步驟包括克隆項目、修改配置文件、創(chuàng)建數(shù)據(jù)庫、運(yùn)行項目和前端展示
    2025-03-03
  • IDEA 2020代碼提示忽略大小寫的問題

    IDEA 2020代碼提示忽略大小寫的問題

    這篇文章主要介紹了IDEA 2020代碼提示忽略大小寫的問題,本文通過圖文并茂的形式給大家分享解決方法,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • java中消息推送功能的關(guān)鍵實現(xiàn)代碼

    java中消息推送功能的關(guān)鍵實現(xiàn)代碼

    在日常開發(fā)中,消息推送是非常典型的業(yè)務(wù)需求,下面這篇文章主要介紹了java中消息推送功能的關(guān)鍵實現(xiàn)代碼,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-09-09
  • 詳解Maven安裝教程及是否安裝成功

    詳解Maven安裝教程及是否安裝成功

    這篇文章主要介紹了詳解Maven安裝教程及是否安裝成功,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • java顯示目錄文件列表和刪除目錄功能

    java顯示目錄文件列表和刪除目錄功能

    這篇文章主要介紹了java顯示目錄文件列表和刪除目錄功能,文章通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2017-12-12

最新評論

高邮市| 莎车县| 遂宁市| 咸丰县| 隆林| 涪陵区| 格尔木市| 顺平县| 安徽省| 曲麻莱县| 枣阳市| 永泰县| 卢龙县| 沈阳市| 德钦县| 江西省| 高安市| 承德市| 镇远县| 德钦县| 湖口县| 塔河县| 玛沁县| 翁牛特旗| 衡水市| 巩留县| 玉溪市| 象山县| 邹城市| 石城县| 平邑县| 登封市| 南召县| 宜城市| 忻城县| 华阴市| 竹山县| 建昌县| 赤峰市| 大田县| 长汀县|