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

SpringBoot請求參數(shù)接收控制指南分享

 更新時間:2025年04月25日 14:42:00   作者:L_!??!  
這篇文章主要介紹了SpringBoot請求參數(shù)接收控制指南,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Spring Boot 請求參數(shù)接收控制指南

1. 概述

在Spring Boot項目中,我們可以通過不同的注解來接收來自HTTP請求的各種參數(shù)。

本指南將詳細介紹各種參數(shù)接收方式及其使用場景。

2. 有注解時參數(shù)接收方式對比

參數(shù)類型注解位置適用HTTP方法示例
路徑參數(shù)@PathVariableURL路徑中GET, DELETE/users/{id}
查詢參數(shù)@RequestParamURL?后GET/users?name=John
請求體@RequestBody請求體POST, PUT, PATCHJSON/XML數(shù)據(jù)
請求頭@RequestHeaderHTTP頭任意Authorization: Bearer token
Cookie值@CookieValueCookie頭任意Cookie: JSESSIONID=xxx
表單數(shù)據(jù)@RequestParam表單體POSTapplication/x-www-form-urlencoded
文件上傳@RequestParammultipart/form-dataPOST文件上傳表單

3. 無注解時接收參數(shù)默認(rèn)位置

Spring Boot 默認(rèn)參數(shù)綁定規(guī)則(不加注解時)

請求類型參數(shù)類型默認(rèn)綁定位置示例注意事項
GET基本類型/String自動綁定到URL查詢參數(shù)GET /user?name=Tom → public String getUser(String name)參數(shù)名必須與URL中的key一致
POJO對象自動綁定到URL查詢參數(shù)GET /user?name=Tom&age=20 → public String getUser(User user)對象的字段名需與URL參數(shù)匹配
數(shù)組/集合自動綁定到URL查詢參數(shù)GET /user?ids=1,2,3 → public String getUser(List<Integer> ids)支持逗號分隔或同名參數(shù)(ids=1&ids=2)
POST基本類型/String表單數(shù)據(jù) (Form Data)POST /user (Content-Type: application/x-www-form-urlencoded)需設(shè)置Content-Type為表單類型
POJO對象表單數(shù)據(jù)或JSON請求體若為application/json → 綁定到請求體;若為表單 → 按字段名匹配需明確指定Content-Type,否則可能解析失敗
數(shù)組/集合表單數(shù)據(jù)或JSON請求體同POJO規(guī)則表單格式需用同名參數(shù)(names=Tom&names=Jerry)
MultipartFile文件上傳 (multipart)POST /upload (enctype="multipart/form-data")必須設(shè)置enctype="multipart/form-data"
PUT/PATCH所有類型JSON/XML請求體PUT /user { "name": "Tom" } → public String updateUser(User user)默認(rèn)按@RequestBody處理,需顯式加注解才能覆蓋
DELETE基本類型/StringURL查詢參數(shù)DELETE /user?id=123 → public String deleteUser(Long id)與GET相同
POJO對象不支持-DELETE通常只用路徑參數(shù)或簡單查詢參數(shù)

關(guān)鍵規(guī)則總結(jié)

GET/DELETE 請求

  • 參數(shù)默認(rèn)綁定到 URL查詢字符串?key=value)。
  • POJO對象會按字段名自動拆解到查詢參數(shù)。

POST 請求

  • 默認(rèn)按 表單數(shù)據(jù)application/x-www-form-urlencoded)解析。
  • 若請求頭為 Content-Type: application/json,則需顯式加 @RequestBody,否則綁定失敗。

PUT/PATCH 請求

  • 默認(rèn)按請求體(JSON/XML)處理,類似@RequestBody行為,但實際開發(fā)中建議顯式加注解。

特殊類型

  • MultipartFile:僅在 multipart/form-data 類型的POST中自動綁定。
  • 數(shù)組/集合:支持URL查詢參數(shù)(GET)或表單同名參數(shù)(POST)。

常見誤區(qū)澄清

表單數(shù)據(jù)不會放在請求頭

  • 請求頭僅用于元數(shù)據(jù)(如Content-Type、Authorization等),表單內(nèi)容一定在請求體。

GET請求能否帶表單數(shù)據(jù)?

  • ? 不能。GET請求的參數(shù)只能通過URL查詢字符串(?key=value)傳遞,且長度受限。

不加注解時Spring Boot如何綁定表單數(shù)據(jù)?

  • 默認(rèn)按參數(shù)名匹配請求體中的表單字段(需參數(shù)名與表單字段名一致)。

POST JSON vs 表單數(shù)據(jù)

  • JSON數(shù)據(jù)必須顯式使用@RequestBody,而表單數(shù)據(jù)默認(rèn)綁定(無需注解)。

4.HTTP請求參數(shù)位置自定義控制對照表

參數(shù)位置Spring Boot注解手動提取方式適用場景示例請求
URL路徑參數(shù)@PathVariableHttpServletRequest.getRequestURI()RESTful資源標(biāo)識GET /users/123 → id=123
URL查詢參數(shù)@RequestParamrequest.getParameter("name")過濾條件、分頁GET /users?name=Tom → name=Tom
請求頭@RequestHeaderrequest.getHeader("Authorization")認(rèn)證令牌、客戶端信息Header: Authorization: Bearer xxx
請求體(JSON)@RequestBodyInputStream + JSON解析庫復(fù)雜數(shù)據(jù)提交POST /users + {"name":"Tom"}
請求體(表單)@RequestParamrequest.getParameterMap()傳統(tǒng)表單提交POST /login + username=Tom&password=123
請求體(文件)@RequestPartMultipartHttpServletRequest文件上傳POST /upload + multipart/form-data
Cookie@CookieValuerequest.getCookies()會話管理Cookie: sessionId=abc123

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 一文詳解Java攔截器與過濾器的使用

    一文詳解Java攔截器與過濾器的使用

    這篇文章主要為大家詳細介紹了Java中攔截器與過濾器的使用與區(qū)別,文中的示例代碼講解詳細,對我們學(xué)習(xí)有一定參考價值,需要的可以參考一下
    2022-04-04
  • JAVA中SSM框架的搭建實現(xiàn)CRUD的方法

    JAVA中SSM框架的搭建實現(xiàn)CRUD的方法

    這篇文章主要介紹了JAVA中SSM框架的搭建實現(xiàn)CRUD的方法,小編把運行代碼列了出來,供大家參考。
    2017-11-11
  • Java常用字符串方法小結(jié)

    Java常用字符串方法小結(jié)

    字符串變量是Java與C語言的一大不同之處。Java之中的 String 類和 Stringbuffer 類提供了大量的對字符串操作的方法。String 類適合處理較小的字符串,而Stringbuffer類適合處理大量字符串
    2017-04-04
  • Spring學(xué)習(xí)教程之AOP模塊的概述

    Spring學(xué)習(xí)教程之AOP模塊的概述

    AOP 從功能的角度來講,可能看作OOP編程方式的一種補充,提供了一種不同的代碼或者系統(tǒng)組織方式,下面這篇文章主要給大家介紹了關(guān)于Spring學(xué)習(xí)教程之AOP模塊的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2018-05-05
  • IDEA編譯時報常量字符串過長的解決辦法

    IDEA編譯時報常量字符串過長的解決辦法

    本文主要介紹了IDEA編譯時報常量字符串過長的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • java如何自定義注解

    java如何自定義注解

    這篇文章主要介紹了java如何自定義注解問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • SpringBoot集成RocketMQ事務(wù)消息的完整指南

    SpringBoot集成RocketMQ事務(wù)消息的完整指南

    事務(wù)消息是?RocketMQ?提供的一種高級消息類型,用于解決分布式場景下,本地數(shù)據(jù)庫事務(wù)與消息發(fā)送之間的一致性問題,下面小編就來和大家聊聊SpringBoot集成RocketMQ事務(wù)消息的完整方法吧
    2025-10-10
  • 詳解Java8中接口的默認(rèn)方法和靜態(tài)方法

    詳解Java8中接口的默認(rèn)方法和靜態(tài)方法

    Java 8是Java語言的一個重要版本,其中引入了許多新特性和改進,其中一個值得關(guān)注的特性是接口的默認(rèn)方法和靜態(tài)方法,本文就來和大家簡單講講吧
    2023-05-05
  • Java導(dǎo)出多個excel表打包到zip文件中供客戶端另存為窗口下載實現(xiàn)方法

    Java導(dǎo)出多個excel表打包到zip文件中供客戶端另存為窗口下載實現(xiàn)方法

    最近的項目有一個導(dǎo)出匯總數(shù)據(jù)的要求,考慮到用戶軟件的差異,所以要分別導(dǎo)出xls以及xlsx并且打包提供下載,下面這篇文章主要給大家介紹了關(guān)于Java導(dǎo)出多個excel表打包到zip文件中供客戶端另存為窗口下載的實現(xiàn)方法,需要的朋友可以參考下
    2023-12-12
  • MybatisPlus處理大表查詢的實現(xiàn)步驟

    MybatisPlus處理大表查詢的實現(xiàn)步驟

    在實際工作中當(dāng)指定查詢數(shù)據(jù)過大時,我們一般使用分頁查詢的方式一頁一頁的將數(shù)據(jù)放到內(nèi)存處理,本文主要介紹了MybatisPlus處理大表查詢的實現(xiàn)步驟,感興趣的可以了解一下
    2024-08-08

最新評論

闻喜县| 谷城县| 周宁县| 扎赉特旗| 辽中县| 瑞丽市| 元江| 门源| 辽源市| 民权县| 合江县| 苏尼特左旗| 永昌县| 孝昌县| 松原市| 巴南区| 越西县| 延安市| 华宁县| 镇安县| 平阴县| 潜江市| 邵武市| 新乡县| 武陟县| 岚皋县| 栖霞市| 汨罗市| 桓台县| 宁陕县| 徐州市| 广德县| 景洪市| 南阳市| 沂源县| 昌宁县| 绥中县| 郑州市| 天镇县| 锦屏县| 舟山市|