欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前言

請求體(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"}
  • 文件上傳:請求體用于傳輸文件的二進(jìn)制數(shù)據(jù);通常會使用特定的編碼方式對文件進(jìn)行處理,如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ù),默認(rèn)為true:請求路徑必須包含該參數(shù),否則報錯
// defaultValue:默認(rèn)參數(shù)值,如果設(shè)置了該值,required=true將失效,自動為false,如果沒有傳該參數(shù),就使用默認(rèn)值
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ù)默認(rèn)為123,有參數(shù)傳遞則為請求參數(shù)
@GetMapping("/example")
    public void  handleRequest(@RequestParam(value="id",required="false",defaultValue="123")) {
        // 處理路徑參數(shù)
    }

@Validated

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

方法參數(shù)校驗(yàn)

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

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

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

方法返回值校驗(yàn)

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

@Validated注解應(yīng)用在方法的返回值上,對ResponseDto對象進(jìn)行校驗(yàn);校驗(yàn)規(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)文章

  • SpringBoot中的聲明式事務(wù)詳解

    SpringBoot中的聲明式事務(wù)詳解

    這篇文章主要介紹了SpringBoot中的聲明式事務(wù)詳解,Spring采用統(tǒng)一的機(jī)制來處理不同的數(shù)據(jù)訪問技術(shù)的事務(wù), Spring的事務(wù)提供一個PlatformTransactionManager的接口,不同的數(shù)據(jù)訪問技術(shù)使用不同的接口實(shí)現(xiàn),需要的朋友可以參考下
    2023-08-08
  • Java ffmpeg 實(shí)現(xiàn)視頻加文字/圖片水印功能(示例代碼)

    Java ffmpeg 實(shí)現(xiàn)視頻加文字/圖片水印功能(示例代碼)

    本文介紹了使用Java和ffmpeg庫實(shí)現(xiàn)視頻加文字或圖片水印的方法,通過引入依賴代碼和示例,詳細(xì)說明了如何將文字水印和圖片水印添加到視頻中,為需要在視頻中加入水印的開發(fā)者提供了實(shí)用的指導(dǎo),這種方法不僅增強(qiáng)了視頻內(nèi)容的版權(quán)保護(hù),也為視頻編輯提供了更多的可能性
    2024-10-10
  • Java Swing組件BoxLayout布局用法示例

    Java Swing組件BoxLayout布局用法示例

    這篇文章主要介紹了Java Swing組件BoxLayout布局用法,結(jié)合實(shí)例形式分析了Swing使用BoxLayout容器進(jìn)行布局的相關(guān)方法與操作技巧,需要的朋友可以參考下
    2017-11-11
  • Spring AOP注解案例及基本原理詳解

    Spring AOP注解案例及基本原理詳解

    這篇文章主要介紹了Spring AOP注解案例及基本原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • java解一個比較特殊的數(shù)組合并題

    java解一個比較特殊的數(shù)組合并題

    這篇文章主要介紹了java解一個比較特殊的數(shù)組合并題,需要的朋友可以參考下
    2014-06-06
  • springboot實(shí)現(xiàn)maven多模塊和打包部署

    springboot實(shí)現(xiàn)maven多模塊和打包部署

    本文主要介紹了springboot實(shí)現(xiàn)maven多模塊和打包部署,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • Java 處理高并發(fā)負(fù)載類優(yōu)化方法案例詳解

    Java 處理高并發(fā)負(fù)載類優(yōu)化方法案例詳解

    這篇文章主要介紹了Java 處理高并發(fā)負(fù)載類優(yōu)化方法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • springboot如何配置Filter過濾器

    springboot如何配置Filter過濾器

    這篇文章主要介紹了springboot如何配置Filter過濾器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • JVM教程之Java代碼編譯和執(zhí)行的整個過程(二)

    JVM教程之Java代碼編譯和執(zhí)行的整個過程(二)

    這篇文章主要介紹了JVM學(xué)習(xí)筆記第二篇,關(guān)于Java代碼編譯和執(zhí)行的整個過程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Jmeter分布式壓力測試實(shí)現(xiàn)過程詳解

    Jmeter分布式壓力測試實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Jmeter分布式壓力測試實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09

最新評論