SpringBoot-關(guān)于RESTFUL請(qǐng)求提交

使用springboot框架來(lái)開(kāi)發(fā)的時(shí)候,大部分還是使用restful接口。
最近在開(kāi)發(fā)使用restful的時(shí)候遇到一些問(wèn)題,在此分享下。

因?yàn)橹皇情_(kāi)發(fā)了后臺(tái)接口,所以我前端采用的postman進(jìn)行模擬提交。
postman在body里面提供了form-data,x-www-form-urlencoded,raw,binay
四種形式。關(guān)于這幾種的區(qū)別資料很多,這里不詳細(xì)說(shuō)明。

一開(kāi)始我自然選擇了raw形式,直接按照json格式模擬,后臺(tái)restful接口采用
@PostMapping注解接收,沒(méi)有任何問(wèn)題。但我切換成form-data,按照格式直接填入key-value之后,這時(shí)候報(bào)錯(cuò)了。Http 415 "Unsupported Media Type" error。此問(wèn)題找了很久才發(fā)現(xiàn)無(wú)法使用@PostMapping來(lái)接收。必須寫(xiě)成類(lèi)似如下格式:
@RequestMapping(value="/user", method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)。

測(cè)試之后發(fā)現(xiàn)沒(méi)問(wèn)題,但是當(dāng)我替換成PUT請(qǐng)求之后,發(fā)現(xiàn)獲取的入?yún)⒆兂煽樟?。這是因?yàn)榭赡苁茿PI只能解析GET、POST方式的表單提交。其他一些傳統(tǒng)的MVC框架也有類(lèi)似現(xiàn)象。這個(gè)時(shí)候就需要自己注入對(duì)PUT請(qǐng)求的處理。這個(gè)在springboot里面處理起來(lái)就非常方便了,直接使用注解注入即可。
@Component
public class PutFilter extends HttpPutFormContentFilter {
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • 整體Retrofit內(nèi)容如下: 1、Retrofit解析1之前哨站——理解RESTful2、Retrofit解析2...
    隔壁老李頭閱讀 15,402評(píng)論 4 39
  • 導(dǎo)讀: 現(xiàn)在的web和移動(dòng)開(kāi)發(fā),常常會(huì)調(diào)用服務(wù)器提供restful接口進(jìn)行數(shù)據(jù)請(qǐng)求,為了調(diào)試,一般會(huì)先用工具進(jìn)行測(cè)...
    常大鵬閱讀 104,245評(píng)論 13 143
  • 第三講 宋代 一、宋代政府組成 1、中央政府。相權(quán)低落,君權(quán)提升。中書(shū)則為丞相,地位獨(dú)重,與樞密院(管軍事)同稱(chēng)兩...
    3d38d97ee33d閱讀 785評(píng)論 0 0
  • 本作品參與#熱血九月,迷彩青春#軍訓(xùn)線上作品征集活動(dòng),本人承諾,作品內(nèi)容為原創(chuàng),且并未在其他平臺(tái)上發(fā)表過(guò)。 一覺(jué)醒...
    很淺日記閱讀 459評(píng)論 0 8

友情鏈接更多精彩內(nèi)容