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

SpringBoot中API接口參數(shù)獲取方式小結(jié)

 更新時(shí)間:2024年06月26日 09:15:35   作者:是猛男啊  
在Spring Boot中,API接口參數(shù)可以通過多種方式獲取,具體取決于你定義的API接口參數(shù)類型(如路徑參數(shù)、查詢參數(shù)、請(qǐng)求體參數(shù)、請(qǐng)求頭等),本文給大家就介紹了一些常見的參數(shù)獲取方式,需要的朋友可以參考下

引言

在Spring Boot中,API接口參數(shù)可以通過多種方式獲取,具體取決于你定義的API接口參數(shù)類型(如路徑參數(shù)、查詢參數(shù)、請(qǐng)求體參數(shù)、請(qǐng)求頭等)。以下是一些常見的參數(shù)獲取方式以及對(duì)應(yīng)的Java樣例代碼:

1.路徑參數(shù)(Path Variable)

使用@PathVariable注解從URL路徑中獲取參數(shù)。

    @RestController
    @RequestMapping("/users")
    public class UserController {
 
        @GetMapping("/{id}")
        public ResponseEntity<String> getUserById(@PathVariable Long id) {
            // 處理邏輯
            return ResponseEntity.ok("User with ID: " + id);
        }
    }

2.查詢參數(shù)(Query Parameter)

使用@RequestParam注解從URL查詢字符串中獲取參數(shù)。

    @RestController
    @RequestMapping("/users")
    public class UserController {
 
        @GetMapping("/search")
        public ResponseEntity<String> searchUsers(@RequestParam String name) {
            // 處理邏輯
            return ResponseEntity.ok("Searching for user with name: " + name);
        }
 
        // 也可以設(shè)置默認(rèn)值
        @GetMapping("/searchWithDefault")
        public ResponseEntity<String> searchUsersWithDefault(@RequestParam(defaultValue = "John") String name) {
            // 處理邏輯
            return ResponseEntity.ok("Searching for user with name: " + name);
        }
    }

3.請(qǐng)求體參數(shù)(Request Body)

使用@RequestBody注解從HTTP請(qǐng)求體中獲取參數(shù),通常用于POST或PUT請(qǐng)求。

    @RestController
    @RequestMapping("/users")
    public class UserController {
 
        @PostMapping("/")
        public ResponseEntity<String> createUser(@RequestBody User user) {
            // 處理邏輯
            return ResponseEntity.ok("User created with name: " + user.getName());
        }
 
        // 假設(shè)User類如下
        static class User {
            private String name;
            // getters and setters
        }
    }

4.請(qǐng)求頭參數(shù)(Request Header)

通常不直接使用注解來獲取請(qǐng)求頭參數(shù),但可以通過HttpServletRequest對(duì)象或@RequestHeader注解來獲取。

使用@RequestHeader注解:

    @RestController
    @RequestMapping("/users")
    public class UserController {
 
        @GetMapping("/")
        public ResponseEntity<String> getUsers(@RequestHeader("Authorization") String authToken) {
            // 處理邏輯
            return ResponseEntity.ok("Authorization token: " + authToken);
        }
    }

使用HttpServletRequest對(duì)象:

    @RestController
    @RequestMapping("/users")
    public class UserController {
 
        @GetMapping("/")
        public ResponseEntity<String> getUsers(HttpServletRequest request) {
            String authToken = request.getHeader("Authorization");
            // 處理邏輯
            return ResponseEntity.ok("Authorization token from HttpServletRequest: " + authToken);
        }
    }

5.@CookieValue

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

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

6.@MatrixVariable

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

比如:這個(gè)請(qǐng)求/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);
}

7.表單數(shù)據(jù)(Form Data)

對(duì)于POST請(qǐng)求中的表單數(shù)據(jù),通??梢允褂聾ModelAttribute或@RequestParam來獲取。但如果表單數(shù)據(jù)作為請(qǐng)求體發(fā)送(Content-Type: application/x-www-form-urlencoded),則可以直接使用@RequestParam。如果表單數(shù)據(jù)是JSON格式,則應(yīng)使用@RequestBody。

8.Servlet API的其他部分

你還可以使用HttpServletResponse、HttpSession等Servlet API的其他部分來處理請(qǐng)求和響應(yīng)。但在Spring Boot中,通常推薦使用Spring MVC提供的高級(jí)抽象來簡(jiǎn)化開發(fā)。

注:為了正確解析請(qǐng)求體中的JSON數(shù)據(jù),需要在Spring Boot項(xiàng)目中添加適當(dāng)?shù)腏SON庫(kù)(如Jackson),并且確保請(qǐng)求的Content-Type設(shè)置為application/json。

以上就是SpringBoot中API接口參數(shù)獲取方式小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot API接口參數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何解決IDEA git拉取代碼后本地代碼莫名消失的問題

    如何解決IDEA git拉取代碼后本地代碼莫名消失的問題

    這篇文章主要介紹了如何解決IDEA git拉取代碼后本地代碼莫名消失的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Spring Boot場(chǎng)景啟動(dòng)器(Starters)從入門到精通

    Spring Boot場(chǎng)景啟動(dòng)器(Starters)從入門到精通

    本文給大家介紹Spring Boot場(chǎng)景啟動(dòng)器(Starters)完全指南:從入門到精通,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2025-10-10
  • SpringBoot實(shí)現(xiàn)列表數(shù)據(jù)導(dǎo)出為Excel文件

    SpringBoot實(shí)現(xiàn)列表數(shù)據(jù)導(dǎo)出為Excel文件

    這篇文章主要為大家詳細(xì)介紹了在Spring?Boot框架中如何將列表數(shù)據(jù)導(dǎo)出為Excel文件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-02-02
  • Java中的WeakHashMap詳解

    Java中的WeakHashMap詳解

    這篇文章主要介紹了Java中的WeakHashMap詳解,WeakHashMap可能平時(shí)使用的頻率并不高,但是你可能聽過WeakHashMap會(huì)進(jìn)行自動(dòng)回收吧,下面就對(duì)其原理進(jìn)行分析,需要的朋友可以參考下
    2023-09-09
  • SpringBoot2.7.14整合redis7的詳細(xì)過程

    SpringBoot2.7.14整合redis7的詳細(xì)過程

    這篇文章主要介紹了SpringBoot2.7.14整合redis7的詳細(xì)過程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-10-10
  • Java 實(shí)現(xiàn)文件批量重命名親測(cè)可用(精簡(jiǎn)版)

    Java 實(shí)現(xiàn)文件批量重命名親測(cè)可用(精簡(jiǎn)版)

    本文給大家分享一段自己寫的java代碼實(shí)現(xiàn)文件批量重命名,親測(cè)試過沒有任何問題,大家可以放心使用
    2016-11-11
  • SpringBoot Jpa分頁(yè)查詢配置方式解析

    SpringBoot Jpa分頁(yè)查詢配置方式解析

    這篇文章主要介紹了SpringBoot Jpa分頁(yè)查詢配置方式解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Java Files和Paths的使用demo詳解

    Java Files和Paths的使用demo詳解

    Java Files和Paths是Java 7中引入的新API,用于處理文件和目錄,F(xiàn)iles類提供了許多有用的靜態(tài)方法來操作文件和目錄,而Path類則表示文件系統(tǒng)中的路徑,這篇文章主要介紹了Java Files和Paths的使用詳解,需要的朋友可以參考下
    2023-03-03
  • kotlin和Java的相互調(diào)用示例詳解

    kotlin和Java的相互調(diào)用示例詳解

    Kotlin 的設(shè)計(jì)過程中就考慮到了與 Java 的互操作性。在 Kotlin 中可以直接調(diào)用既有的 Java 代碼, 反過來在 Java 中也可以很流暢地使用 Kotlin 代碼,下面這篇文章主要給大家介紹了關(guān)于kotlin和Java的相互調(diào)用的相關(guān)資料,需要的朋友可以參考下。
    2018-02-02
  • Spring security中的授權(quán)

    Spring security中的授權(quán)

    本篇為大家?guī)鞸pring security的授權(quán),首先要理解一些概念,有關(guān)于:權(quán)限、角色、安全上下文、訪問控制表達(dá)式、方法級(jí)安全性、訪問決策管理器,這篇文章主要介紹了Spring security中的授權(quán),需要的朋友可以參考下
    2024-01-01

最新評(píng)論

怀柔区| 信丰县| 义乌市| 南昌县| 贺兰县| 文登市| 正定县| 武城县| 佛山市| 手游| 招远市| 申扎县| 阿拉善盟| 连江县| 潮安县| 竹溪县| 赤壁市| 理塘县| 曲靖市| 古丈县| 西林县| 乌鲁木齐县| 大荔县| 乐清市| 淮安市| 东城区| 澄江县| 宿迁市| 鄄城县| 灵山县| 周宁县| 中超| 岐山县| 滨海县| 云南省| 西吉县| 开封市| 呼伦贝尔市| 和硕县| 博乐市| 正镶白旗|