国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

請(qǐng)求頭content-type的不同格式后端應(yīng)該如何接收

這篇具有很好參考價(jià)值的文章主要介紹了請(qǐng)求頭content-type的不同格式后端應(yīng)該如何接收。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

博客原文地址

"Content-Type" 是HTTP請(qǐng)求頭中的一個(gè)標(biāo)頭,用于指示請(qǐng)求或響應(yīng)中包含的實(shí)體的媒體類型。它告訴客戶端如何處理響應(yīng)中的數(shù)據(jù),并通知服務(wù)器客戶端正在發(fā)送的數(shù)據(jù)類型。它可以出現(xiàn)在請(qǐng)求或響應(yīng)標(biāo)頭中。

常見(jiàn)的Content-Type類別

Content-Type的值通常由一個(gè)媒體類型和一個(gè)可選的字符集組成,例如 “Content-Type: text/html; charset=UTF-8”

常見(jiàn)的 Content-Type 類型:

  • text/plain:純文本
  • text/html:HTML格式
  • application/json:JSON數(shù)據(jù)格式
  • application/xml:XML數(shù)據(jù)格式
  • application/x-www-form-urlencoded:普通表單格式(鍵值對(duì))
  • multipart/form-data:多部分表單格式(用于文件上傳)
  • image/jpeg:JPEG圖片格式
  • image/png:PNG圖片格式
  • audio/mpeg:MPEG音頻格式
  • video/mp4:MP4視頻格式
  • application/octet-stream:二進(jìn)制流數(shù)據(jù)格式

HTTP規(guī)范還支持其他多種媒體類型,具體取決于實(shí)際需要。當(dāng)客戶端發(fā)送請(qǐng)求時(shí),它必須設(shè)置Content-Type頭以告知服務(wù)器發(fā)送的數(shù)據(jù)類型。而服務(wù)器返回的響應(yīng)也必須設(shè)置Content-Type頭以告知客戶端響應(yīng)數(shù)據(jù)的類型。

后端如何接收參數(shù)

SpringBoot后端接收參數(shù)的方式有以下幾種:

  • @PathVariable:用于接收Get請(qǐng)求通過(guò)拼接url傳遞的參數(shù),例如localhost:7001/param/123
  • @RequestParam:用于接收Get請(qǐng)求通過(guò)查詢字符串傳遞的參數(shù),例如localhost:7001/param?id=123
  • @RequestBody:用于接收Post請(qǐng)求通過(guò)請(qǐng)求體傳遞的參數(shù),可以是JSON或表單格式
  • @RequestHeader:用于接收請(qǐng)求頭部傳遞的參數(shù)

1.@RequestBody

@RequestBody主要用來(lái)接收前端傳遞給后端的json字符串中的數(shù)據(jù)的(請(qǐng)求體中的數(shù)據(jù)的),對(duì)于get方法來(lái)說(shuō)是沒(méi)有請(qǐng)求體的,所以一般都是使用post請(qǐng)求方式時(shí)使用這種方式傳參。
如果參數(shù)時(shí)放在請(qǐng)求體中,并且Content-Type為application/json,那么后臺(tái)要用@RequestBody才能接收到;
如果不是放在請(qǐng)求體中的話,那么后臺(tái)接收前臺(tái)傳過(guò)來(lái)的參數(shù)時(shí),要用@RequestParam來(lái)接收,或則形參前 什么也不寫也能接收。

@PostMapping("/example")
public String handleFormSubmit(@RequestBody User user) {
    // 處理表單提交數(shù)據(jù)
}

@RequestBody會(huì)自動(dòng)將請(qǐng)求體中的json數(shù)據(jù)封裝進(jìn)User實(shí)體類中。json的key和實(shí)體類的屬性名一一對(duì)應(yīng)。

2.@RequestParam

@RequestParam注解通常用于接收前端傳遞的URL參數(shù)或表單參數(shù)。這些參數(shù)可以通過(guò)HTTP GET請(qǐng)求的URL參數(shù)或HTTP POST請(qǐng)求的表單參數(shù)進(jìn)行傳遞。

1.Query參數(shù):即URL中的查詢參數(shù),例如

http://example.com/path?param1=value1&param2=value2

在這種情況下,@RequestParam注解會(huì)將查詢參數(shù)的值與方法參數(shù)進(jìn)行綁定。例如:

@GetMapping("/example")
public String example(@RequestParam("param1") String param1, @RequestParam("param2") String param2) {
    // method body
}

2.Form表單參數(shù):即表單提交時(shí)的參數(shù),例如通過(guò)application/x-www-form-urlencoded格式以Post方式的提交的表單。在這種情況下,@RequestParam注解會(huì)將表單參數(shù)的值與方法參數(shù)進(jìn)行綁定。例如:

@PostMapping("/example")
public String example(@RequestParam("param1") String param1, @RequestParam("param2") String param2) {
    // method body
}

另外,如果通過(guò)application/x-www-form-urlencoded格式提交的表單,也可以將其直接封裝成Java類,此時(shí)參數(shù)前不需要加任何注解即可。

@PostMapping("/example")
public String example(Param param) {
    // method body
}

注:如果是通過(guò)json傳遞的表單數(shù)據(jù),則必須加@RequestBody才能將其轉(zhuǎn)成Java類

需要注意的是,使用@RequestParam注解時(shí)需要指定參數(shù)的名稱,這個(gè)名稱要和前端傳遞參數(shù)時(shí)的名稱一致。如果前端傳遞參數(shù)時(shí)使用了不同的名稱,可以通過(guò)@RequestParam注解的value屬性或name屬性來(lái)指定正確的參數(shù)名稱。

post和get提交表單的區(qū)別

  1. 對(duì)于HTTP GET請(qǐng)求提交的表單,表單參數(shù)通常會(huì)被編碼到URL中,形成類似于以下的URL
http://example.com/api/example?id=123&name=John

這種直接使用@RequestParam接收參數(shù),但是如果參數(shù)較多,可以使用Java類接收

//使用@RequestParam接收單個(gè)參數(shù)
@PostMapping("/example")
public String example(@RequestParam("param1") String param1, @RequestParam("param2") String param2) {
    // method body
}
//使用Java類接收參
@PostMapping("/example")
public String example(User user) {
    // method body
}


public  class User{
    String id;
    String name;
}
  1. 對(duì)于post提交的表單,格式可以有多種,這里主要說(shuō)一下application/x-www-form-urlencodedapplication/json兩種格式

(1)"application/x-www-form-urlencoded"格式
這是一種常用的表單格式,也是瀏覽器默認(rèn)使用的表單格式。在這種格式下,表單數(shù)據(jù)會(huì)被放置在HTTP請(qǐng)求的正文中,也就是請(qǐng)求體中。正文內(nèi)容由鍵值對(duì)組成,每個(gè)鍵值對(duì)之間用&符號(hào)連接例如:

POST /example HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded

id=123&name=John&age=20

接收這種格式的參數(shù),可以使用@RequestParam接收,也可以使用Java類接收,因?yàn)槭莂pplication/x-www-form-urlencoded格式,使用Java類不需要加@RequestBody,和上面接收get表單方法一致。
(2)"application/json"格式
這是一種常用的數(shù)據(jù)交換格式,它使用JSON格式來(lái)描述數(shù)據(jù)。在這種格式下,表單數(shù)據(jù)會(huì)被序列化為JSON字符串,并放置在HTTP請(qǐng)求的正文中。例如:

{
  "id": 123,
  "name": "John",
  "age": 20
}

可以使用@RequestBody注解來(lái)接收這種格式的表單數(shù)據(jù),并將其反序列化為Java對(duì)象。此時(shí)Java對(duì)象前必須加@RequestBody注解才行。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-680100.html

到了這里,關(guān)于請(qǐng)求頭content-type的不同格式后端應(yīng)該如何接收的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • HTTP請(qǐng)求頭響應(yīng)頭的Content-type和Response Type是什么?

    寫代碼寫著寫著發(fā)現(xiàn)這些HTTP的概念還不清楚,縷一縷。 根據(jù)MDN的解釋 Content-Type 實(shí)體頭部用于指示資源的 MIME 類型 MIME 類型,即媒體類型,是一種標(biāo)準(zhǔn),用來(lái)表示文檔、文件或字節(jié)流的性質(zhì)和格式。 根據(jù)MDN的解釋: response.type的值可以是: basic 標(biāo)準(zhǔn)值,同源響應(yīng) cors 接收到一

    2024年02月15日
    瀏覽(21)
  • axios請(qǐng)求頭設(shè)置常見(jiàn)Content-Type和對(duì)應(yīng)參數(shù)的處理

    axios請(qǐng)求頭設(shè)置常見(jiàn)Content-Type和對(duì)應(yīng)參數(shù)的處理

    首先要明確的一點(diǎn)是,我們?cè)陧?xiàng)目中調(diào)用接口,通常是以對(duì)象的數(shù)據(jù)格式傳給自己封裝的http請(qǐng)求函數(shù)的。 現(xiàn)在的前后端分離項(xiàng)目基本上都是使用的這個(gè)進(jìn)行數(shù)據(jù)傳遞。 axios默認(rèn)Content-type是采用application/json;charset=UTF-8,無(wú)需設(shè)置直接把對(duì)象傳進(jìn)去即可 當(dāng)然, 也可以在請(qǐng)求攔截

    2023年04月09日
    瀏覽(30)
  • 在網(wǎng)頁(yè)下載文件時(shí),設(shè)置各種文件格式的response頭中的content-type

    Ext MIME Type .doc application/msword .dot application/msword .docx application/vnd.openxmlformats-officedocument.wordprocessingml.document .dotx application/vnd.openxmlformats-officedocument.wordprocessingml.template .docm application/vnd.ms-word.document.macroEnabled.12 .dotm application/vnd.ms-word.template.macroEnabled.12 .xls application/vnd.ms-excel .x

    2024年02月05日
    瀏覽(25)
  • Postman Post請(qǐng)求四種參數(shù)傳遞方式與Content-Type對(duì)應(yīng)關(guān)系

    Postman post 請(qǐng)求四種數(shù)據(jù)傳遞類型代表的Content-Type類型: 1、form-data : 對(duì)應(yīng)的Content-Type:multipart/form-data;boundary= 表示文件上傳; 2、x-www-form-urlencoded:對(duì)應(yīng)的Content-Type:application/x-www-form-urlencoded 表示表單提交; 3、raw:對(duì)應(yīng)的Content-Type分為五類: 4、binary:對(duì)應(yīng)的Content-Type:ap

    2024年02月05日
    瀏覽(35)
  • http請(qǐng)求頭Content-Type的值為text/plain報(bào)錯(cuò)415解決方案

    問(wèn)題描述:http請(qǐng)求報(bào)錯(cuò)415,經(jīng)過(guò)了解主要是請(qǐng)求頭Content-Type的值為text/plain,為了方便演示,創(chuàng)建一個(gè)測(cè)試類 測(cè)試類 如果請(qǐng)求的請(qǐng)求頭是text/plain,則會(huì)報(bào)錯(cuò),錯(cuò)誤碼415 具體報(bào)錯(cuò) 解決方案很簡(jiǎn)單,直接用字符串接收參數(shù)就行,示例代碼

    2024年02月15日
    瀏覽(20)
  • PHP用CURL發(fā)送Content-type為application/json的POST請(qǐng)求方法

    HELLO 各位伙伴,最近一直在做項(xiàng)目,沒(méi)有及時(shí)更新。望請(qǐng)見(jiàn)諒。 今天,給大家講一下php請(qǐng)求第三方接口的時(shí)候遇到的問(wèn)題,大家都知道,在請(qǐng)求第三方接口的時(shí)候,會(huì)要求我們用post還是get來(lái)傳參 一般我們傳參的時(shí)候基本上都是form-data。有一些第三方為了安全或者是編碼格式

    2024年02月10日
    瀏覽(26)
  • Http請(qǐng)求中Content-Type和Accept講解以及在Spring MVC中的應(yīng)用

    在Http請(qǐng)求中,我們每天都在使用Content-type來(lái)指定不同格式的請(qǐng)求信息,但是卻很少有人去全面了解content-type中允許的值有多少,這里將講解Content-Type的可用值,以及在spring?MVC中如何使用它們來(lái)映射請(qǐng)求信息。 1.? Content-Type MediaType是Internet Media Type,互聯(lián)網(wǎng)媒體類型;也叫做

    2023年04月21日
    瀏覽(27)
  • Content-Type 值有哪些?

    Content-Type 值有哪些?

    1、application/x-www-form-urlencoded 最常見(jiàn) POST 提交數(shù)據(jù)的方式。 瀏覽器的原生 form 表單,如果不設(shè)置 enctype 屬性,那么最終就會(huì)以 application/x-www-form-urlencoded 方式提交數(shù)據(jù)。 Cntent-Type 被指定為 application/x-www-form-urlencoded。 其次,提交的數(shù)據(jù)按照【name=小草莓other=hahah】的方式進(jìn)行編

    2024年02月06日
    瀏覽(19)
  • 前端篇-Content-Type 詳解

    前端篇-Content-Type 詳解

    Content-Type(MediaType),即是Internet Media Type,互聯(lián)網(wǎng)媒體類型,也叫做MIME類型。在互聯(lián)網(wǎng)中有成百上千中不同的數(shù)據(jù)類型,HTTP在傳輸數(shù)據(jù)對(duì)象時(shí)會(huì)為他們打上稱為MIME的數(shù)據(jù)格式標(biāo)簽,用于區(qū)分?jǐn)?shù)據(jù)類型。最初MIME是用于電子郵件系統(tǒng)的,后來(lái)HTTP也采用了這一方案。 在HTTP協(xié)議

    2024年04月27日
    瀏覽(20)
  • 詳解Http的Content-Type

    詳解Http的Content-Type

    目錄 1.概述 2.常用類型 2.1.application/x-www-form-urllencoded 2.2.application/json 3.Spring MVC支持的編碼 3.1.實(shí)驗(yàn) 3.2.適配器 3.3.自定義適配器 HTTP(HyperText Transfer Protocol),超文本傳輸協(xié)議。超文本(Hypertext)是一種結(jié)構(gòu)化的文本,其中包含了超鏈接(Hyperlink)的能力,通過(guò)超鏈接可以在不

    2024年02月09日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包