關于Unsupported Media Type的解決方案
今天碰到一個問題,就是自身的一個接口被第三方的業(yè)務回調的時候出現(xiàn)了一個415的錯誤,也就是Unsupported Media Type。之后查了些資料,總結一下。
415是什么錯誤?
對于當前請求的方法和所請求的資源,請求中提交的實體并不是服務器中所支持的格式,因此請求被拒絕。
也就是說第三方發(fā)給己方服務器參數(shù)格式和服務器所要求的的參數(shù)格式不一樣
比如第三方傳的是’application/x-www-form-urlencoded;charset=UTF-8’(前端表單默認的格式,會將鍵值對的參數(shù)用&連接起來
如果有空格,將空格轉換為+加號;有特殊符號,將特殊符號轉換為ASCII HEX值),而服務器需要的是json格式,這樣就會出現(xiàn)415錯誤
兩種解決辦法
主要有兩種分別對應了服務端和客戶端
- 服務端:調整接口接收參數(shù)的方式。比如要是接收的是json字符串格式的參數(shù),就使用@RequestBody注解整體接收;接收用&連接起來的參數(shù)則用@RequestParam注解一一接收。
- 客戶端:調整上傳參數(shù)的格式,按照接口需求的參數(shù)進行傳遞。
順便記錄一下常見的媒體格式類型
常見的媒體格式類型
- text/html :HTML格式
- text/xml :XML格式
- text/plain :純文本格式
- image/gif :gif圖片格式
- image/jpeg :jpg圖片格式
- image/png :png圖片格式
以application開頭的媒體格式類型
- application/x-www-form-urlencoded :form表單中默認的格式,form表單數(shù)據(jù)被編碼為key/value格式發(fā)送到服務器。
- application/json :JSON數(shù)據(jù)格式
- application/xml :XML數(shù)據(jù)格式
- application/xhtml+xml :XHTML格式
- application/atom+xml :Atom XML聚合格式
- application/pdf :pdf格式
- application/msword :Word文檔格式
- application/octet-stream :二進制流數(shù)據(jù)(如常見的文件下載)
當然還有一個form表單中使用到的文件上傳格式:multipart/form-data就不寫到上述兩類中去了。
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
postman測試post請求參數(shù)為json類型的實例講解
下面小編就為大家分享一篇postman測試post請求參數(shù)為json類型的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03
Spring?cloud如何實現(xiàn)FeignClient指定Zone調用
這篇文章主要介紹了Spring?cloud如何實現(xiàn)FeignClient指定Zone調用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Mybatis?sqlMapConfig.xml中的mappers標簽使用
這篇文章主要介紹了Mybatis?sqlMapConfig.xml中的mappers標簽使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。2022-01-01
SpringBoot+SpringSession+Redis實現(xiàn)session共享及唯一登錄示例
這篇文章主要介紹了SpringBoot+SpringSession+Redis實現(xiàn)session共享及唯一登錄示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04
SpringBoot集成百度AI實現(xiàn)人臉識別的項目實踐
本文主要介紹了SpringBoot集成百度AI實現(xiàn)人臉識別的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05

