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

Java接收前端請求體的多種方式總結(jié)

 更新時間:2023年08月25日 10:11:12   作者:wei_shuo  
這篇文章主要給大家介紹了關(guān)于Java接收前端請求體的多種方式,文中通過代碼介紹的非常詳細,對大家學習或者Java具有一定的參考學習價值,需要的朋友可以參考下

前言

請求體(Request Body)是HTTP請求中的一部分,用于傳輸請求的數(shù)據(jù);在HTTP請求中,請求體通常用于POST、PUT等需要傳遞數(shù)據(jù)的請求方法

  • 表單數(shù)據(jù)(Form Data):請求體以鍵值對的形式表示,使用&符號分隔不同字段;例如:username=johndoe&password=123456
  • JSON數(shù)據(jù):請求體以JSON(JavaScript Object Notation)格式表示,通常用于傳遞結(jié)構(gòu)化的數(shù)據(jù);例如:{"name": "John Doe", "email": "johndoe@example.com"}
  • 文件上傳:請求體用于傳輸文件的二進制數(shù)據(jù);通常會使用特定的編碼方式對文件進行處理,如multipart/form-data

@RequestBody

@RequestBody:Spring框架中用于接收前端請求體的注解,可以將請求體的內(nèi)容綁定到Java對象中

http://localhost:8080/api/search?code=123
@GetMapping("/search")
    public void  handleRequest(@RequestParam("code") String code) {
        // 處理路徑參數(shù)
    }

@PathVariable

@PathVariable:Java中接收前端請求中的路徑參數(shù);路徑參數(shù)是指URL中的一部分,它們以占位符的形式存在于API的URL中,可以在Java代碼中動態(tài)獲取和使用

http://localhost:8080/api/example/123
@GetMapping("/example/{id}")
    public void  handleRequest(@PathVariable("id") String id) {
        // 處理路徑參數(shù)
    }

@RequestParam

@RequestParam注解:接收查詢字符串參數(shù)或表單參數(shù);可以將請求中的參數(shù)值綁定到方法的參數(shù)上;該方式適用于獲取特定參數(shù)的值

@RequestParam(value="參數(shù)名",required="true/false",defaultValue="")
// value:參數(shù)名
// required:是否包含該參數(shù),默認為true:請求路徑必須包含該參數(shù),否則報錯
// defaultValue:默認參數(shù)值,如果設(shè)置了該值,required=true將失效,自動為false,如果沒有傳該參數(shù),就使用默認值
http://localhost:8080/api/example?id=123
@GetMapping("/example")
    public void  handleRequest(@RequestParam(value="id",required="true")) {
        // 處理路徑參數(shù)
    }
http://localhost:8080/api/example?123
required= false:表示請求中可以沒有該參數(shù),方法參數(shù)將被設(shè)置為 null
@GetMapping("/example")
    public void  handleRequest(@RequestParam(value="id",required="false")) {
        // 處理路徑參數(shù)
    }
http://localhost:8080/api/example?id=1
defaultValue="hello":接受參數(shù)默認為123,有參數(shù)傳遞則為請求參數(shù)
@GetMapping("/example")
    public void  handleRequest(@RequestParam(value="id",required="false",defaultValue="123")) {
        // 處理路徑參數(shù)
    }

@Validated

@Validated注解:方法參數(shù)或方法返回值進行校驗

方法參數(shù)校驗

方法參數(shù)校驗,應(yīng)用于控制器的處理方法,驗證傳入?yún)?shù)是否滿足指定校驗規(guī)則

@Validated注解應(yīng)用在方法的參數(shù)上,對request參數(shù)進行校驗;校驗的規(guī)則可以通過在RequestDto類的屬性上使用注解@NotNull、@NotBlank等定義

@PostMapping("/example")
public void handleRequest(@Validated @RequestBody RequestDto request) {
   // 處理請求
}

方法返回值校驗

處理方法的執(zhí)行完畢,可以對方法返回對象進行校驗,確保返回數(shù)據(jù)滿足指定校驗規(guī)則

@Validated注解應(yīng)用在方法的返回值上,對ResponseDto對象進行校驗;校驗規(guī)則通過ResponseDto類的屬性上使用注解來定義

@GetMapping("/example/{id}")
public @Validated ResponseDto handleRequest(@PathVariable("id") String id) {
   // 處理請求
   return responseDto;
}

@RequestHeader

@RequestHeader注解:接收請求頭的值,可以將請求頭中指定的信息綁定到方法的參數(shù)上

@GetMapping("/example")
public void handleRequest(@RequestHeader("User-Agent") String userAgent) {
   // 處理請求頭的值
}

@HttpServletRequest

@HttpServletRequest注解:方法參數(shù)中注入HttpServletRequest對象,通過它來獲取完整的請求信息,包括請求體、請求頭、路徑參數(shù)和查詢字符串參數(shù)等

@PostMapping("/example")
public void handleRequest(HttpServletRequest request) {
   // 處理請求信息
}

總結(jié) 

到此這篇關(guān)于Java接收前端請求體的多種方式的文章就介紹到這了,更多相關(guān)Java接收前端請求體內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringCloud Feign的使用簡介

    SpringCloud Feign的使用簡介

    這篇文章主要介紹了SpringCloud Feign的使用簡介,幫助大家更好的理解和學習使用SpringCloud,感興趣的朋友可以了解下
    2021-04-04
  • java實現(xiàn)區(qū)域內(nèi)屏幕截圖示例

    java實現(xiàn)區(qū)域內(nèi)屏幕截圖示例

    這篇文章主要介紹了java截圖示例,需要的朋友可以參考下
    2014-04-04
  • 一文帶你了解Java萬物之基之Object類

    一文帶你了解Java萬物之基之Object類

    Java是一門天然的面向?qū)ο蟮恼Z言。而所有我們手動創(chuàng)造出來的類,都繼承于同一個類,即Object類。本文將通過示例為大家詳細介紹一下Java中的Object類,需要的可以參考一下
    2022-03-03
  • Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之背包問題

    Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之背包問題

    背包問題是一個非常典型的考察動態(tài)規(guī)劃應(yīng)用的題目,對其加上不同的限制和條件,可以衍生出諸多變種,若要全面理解動態(tài)規(guī)劃,就必須對背包問題了如指掌
    2022-02-02
  • 淺談Java幾種文件讀取方式耗時

    淺談Java幾種文件讀取方式耗時

    本文主要介紹了淺談Java幾種文件讀取方式耗時,主要介紹了4種,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • JavaWeb入門:HttpResponse和HttpRequest詳解

    JavaWeb入門:HttpResponse和HttpRequest詳解

    這篇文章主要介紹了Django的HttpRequest和HttpResponse對象,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Spring MVC參數(shù)校驗詳解(關(guān)于`@RequestBody`返回`400`)

    Spring MVC參數(shù)校驗詳解(關(guān)于`@RequestBody`返回`400`)

    這篇文章主要介紹了Spring MVC參數(shù)校驗的相關(guān)資料,主要是針對`@RequestBody`返回`400`的問題,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-08-08
  • Java中Swagger框架的使用詳解

    Java中Swagger框架的使用詳解

    這篇文章主要介紹了Java框架Swagger的使用詳解,在開發(fā)期間接口會因業(yè)務(wù)的變更頻繁而變動,如果需要實時更新接口文檔,這是一個費時費力的工作,Swagger應(yīng)運而生,他可以輕松的整合進框架并通過一系列注解生成強大的API文檔,需要的朋友可以參考下
    2023-08-08
  • springboot+jwt+springSecurity微信小程序授權(quán)登錄問題

    springboot+jwt+springSecurity微信小程序授權(quán)登錄問題

    這篇文章主要介紹了springboot+jwt+springSecurity微信小程序授權(quán)登錄問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Java有序的Map LinkedHashMap用法詳解

    Java有序的Map LinkedHashMap用法詳解

    LinkedHashMap是Java提供的一個集合類,它繼承自HashMap,并在HashMap基礎(chǔ)上維護一條雙向鏈表,本文給大家介紹java 有序的Map LinkedHashMap簡介,感興趣的朋友一起看看吧
    2024-01-01

最新評論

和田县| 九龙城区| 息烽县| 兴安县| 伊通| 上高县| 北安市| 永康市| 历史| 苏州市| 黔西| 鹤岗市| 准格尔旗| 商丘市| 崇义县| 阿鲁科尔沁旗| 新沂市| 江孜县| 封丘县| 阳朔县| 于田县| 东港市| 滦平县| 长垣县| 中牟县| 钦州市| 怀宁县| 元谋县| 六盘水市| 万年县| 瓦房店市| 延安市| 西和县| 界首市| 扎鲁特旗| 黄梅县| 河北省| 固原市| 清原| 库伦旗| 柏乡县|