亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java后臺接收數(shù)據(jù)的三種方式(url、form-data與application/json)

 更新時(shí)間:2023年07月13日 10:49:31   作者:瑤山  
本文主要介紹了Java后臺接收數(shù)據(jù)的三種方式(url、form-data與application/json),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

url傳參的方式

    /**
     * 請求路徑:http://localhost:8080/hello/show5/1/james
     */
    @PostMapping("show5/{id}/{name}")
    public void test5(@PathVariable("id") Long ids, @PathVariable("name") String names){
    }

以form_data方式傳輸

    @PostMapping("/add/user")
    public JSONObject addUser(User param){
        return userService.addUser(param);
    }

字段接收-形參

    /**
     * @RequestParam() 里邊的值必須要和前端傳遞過來的參數(shù)名字相同
     */
    @PostMapping
    public String testUser(@RequestParam("name") String a, @RequestParam("phone") String b, String password){
        return "ok";
    }

以json數(shù)據(jù)傳輸

    @PostMapping("/add/user")
    public JSONObject addUser(@RequestBody User param){
        return userService.addUser(param);
    }

其實(shí)還有一種以前用過的請求方式:HttpServerletRequest.getParameter("name"),不常用

注解

@RequestParam

作用:將指定的請求參數(shù)賦值給方法中的形參

  • 指定的參數(shù)可以是普通元素、數(shù)組、集合、對象等等
  • 一個(gè)請求——》可以有多個(gè)@RequestParam

語法:@RequestParam(value="參數(shù)名",required="true/false",defaultValue="")

value:參數(shù)名
required:是否包含該參數(shù),默認(rèn)為true,表示該請求路徑中必須包含該參數(shù),如果不包含就報(bào)錯。
defaultValue:默認(rèn)參數(shù)值,如果設(shè)置了該值,required=true將失效,自動為false,如果沒有傳該參數(shù),就使用默認(rèn)值

示例:

    @PostMapping("/test")
    public void test(@RequestParam(required = true)String name) {
    }

@RequestBody

作用:接收前端傳遞的Json對象的字符串。(請求體中的數(shù)據(jù))

  • Post請求,GET方式無請求體,所以使用@RequestBody接收數(shù)據(jù)時(shí),前端不能使用GET方式提交數(shù)據(jù)
  • 一個(gè)請求——》只有一個(gè)@RequestBody

@PathVariable

作用:接收請求路徑中占位符的值。

Get路徑請求

語法:@RequestMapping(value=”user/{userId}/{userName}”)
示例:
    /**
     * 請求路徑:http://localhost:8080/hello/show5/1/james
     */
    @PostMapping("show5/{id}/{name}")
    public void test5(@PathVariable("id") Long ids, @PathVariable("name") String names){
    }

formdata和json的區(qū)別

Content-Type(內(nèi)容類型)

語法格式:

Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something

常見的媒體格式類型:

  • text/html : HTML格式
  • text/plain :純文本格式
  • text/xml : XML格式
  • image/gif :gif圖片格式
  • image/jpeg :jpg圖片格式
  • image/png:png圖片格式

以application開頭的媒體格式類型:

  • application/xhtml+xml :XHTML格式
  • application/xml: XML數(shù)據(jù)格式
  • application/atom+xml :Atom XML聚合格式
  • application/json: JSON數(shù)據(jù)格式
  • application/pdf:pdf格式
  • application/msword : Word文檔格式
  • application/octet-stream : 二進(jìn)制流數(shù)據(jù)(如常見的文件下載)
  • application/x-www-form-urlencoded : 中默認(rèn)的encType,form表單數(shù)據(jù)被編碼為key/value格式發(fā)送到服務(wù)器(表單默認(rèn)的提交數(shù)據(jù)的格式)

另外一種常見的媒體格式是上傳文件之時(shí)使用的:

  • multipart/form-data : 需要在表單中進(jìn)行文件上傳時(shí),就需要使用該格式

formdata:

常用有兩種: application/x-www-form-urlencoded 和 multipart/form-data , 默認(rèn)為application/x-www-form-urlencoded

  • multipart/form-data:既可以上傳文件等二進(jìn)制數(shù)據(jù),也可以上傳表單鍵值對,只是最后會轉(zhuǎn)化為一條信息;
  • x-www-form-urlencoded:只能上傳鍵值對,并且鍵值對都是間隔分開的

json:

application/json: JSON數(shù)據(jù)格式,將數(shù)據(jù)進(jìn)行序列化的一種方式,后端可以直接使用

關(guān)于post請求能用@pathVariable注解的嘗試

正常來說這個(gè)注解習(xí)慣使用在get請求上, 之前偷懶代碼貼出的是post, 關(guān)于此項(xiàng)的疑惑做個(gè)嘗試

找個(gè)controller復(fù)制過來之前的代碼

啟動項(xiàng)目, 端口80, 打開postman, 發(fā)送請求

控制臺

@PathVariable是spring3.0的新功能:接收請求路徑中占位符的值, 請求方式post, get, put等都可以

到此這篇關(guān)于Java后臺接收數(shù)據(jù)的三種方式(url、form-data與application/json)的文章就介紹到這了,更多相關(guān)Java后臺接收數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java使用lambda表達(dá)式多條件排序方式

    java使用lambda表達(dá)式多條件排序方式

    這篇文章主要介紹了java使用lambda表達(dá)式多條件排序方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Gradle的基本使用

    Gradle的基本使用

    這篇文章主要介紹了Gradle的基本使用方法,幫助大家更好的理解和學(xué)習(xí)Gradle的相關(guān)知識,感興趣的朋友可以了解下
    2021-03-03
  • MyBatis中多條件查詢商品的三種方法及區(qū)別

    MyBatis中多條件查詢商品的三種方法及區(qū)別

    本文主要介紹了MyBatis中多條件查詢商品的三種方法及區(qū)別,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Maven坐標(biāo)和依賴的實(shí)現(xiàn)示例

    Maven坐標(biāo)和依賴的實(shí)現(xiàn)示例

    本文主要介紹了Maven坐標(biāo)和依賴的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • java selenium XPath 定位實(shí)現(xiàn)方法

    java selenium XPath 定位實(shí)現(xiàn)方法

    本文主要介紹java selenium XPath,這里整理了XPath的資料,并附實(shí)現(xiàn)方法,有需要的小伙伴可以參考下
    2016-08-08
  • Java實(shí)現(xiàn)文件的加密解密功能示例

    Java實(shí)現(xiàn)文件的加密解密功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)文件的加密解密功能,結(jié)合具體實(shí)例形式詳細(xì)分析了java針對文件的讀取、判斷、加密、解密等相關(guān)步驟與操作技巧,需要的朋友可以參考下
    2017-10-10
  • JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    這篇文章主要為大家介紹了JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • SpringMVC 傳日期參數(shù)到后臺的實(shí)例講解

    SpringMVC 傳日期參數(shù)到后臺的實(shí)例講解

    下面小編就為大家分享一篇SpringMVC 傳日期參數(shù)到后臺的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Java設(shè)計(jì)模式之觀察者模式observer?pattern詳解

    Java設(shè)計(jì)模式之觀察者模式observer?pattern詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式之觀察者模式observer?pattern詳解,當(dāng)一個(gè)對象發(fā)生數(shù)據(jù)變化時(shí),通知其他相關(guān)的一系列對象,接受到通知的對象根據(jù)該對象的變化進(jìn)行相應(yīng)處理以響應(yīng)變化的過程,需要的朋友可以參考下
    2023-12-12
  • Spring如何根據(jù)條件創(chuàng)建bean,@Conditional注解使用方式

    Spring如何根據(jù)條件創(chuàng)建bean,@Conditional注解使用方式

    這篇文章主要介紹了Spring如何根據(jù)條件創(chuàng)建bean,@Conditional注解使用方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論