1. 程式人生 > >spring boot 坑:請求頭不匹配、 Post請求體多了=號、GET請求引數多了,逗號

spring boot 坑:請求頭不匹配、 Post請求體多了=號、GET請求引數多了,逗號

由於spring boot(Spring MVC)請求校驗比較嚴格,從老版本的jetty微服務servlet 請求改造過程中發現引數處理莫名多出一些符號。經過排查作如下總結:
1、如果請求方的請求頭是text/plain等時,spring boot服務介面沒有設定接受請求頭,比如@RequestMappin預設application/x-www-form-urlencoded;charset=UTF-8進行引數處理,通過@RequestBody註解獲取字元請求體時,請求體後面會多一個=號,因為spring boot 預設按form表單進行引數處理,把請求體進行url引數方式(key=value&key2=val2)進行處理,所以請求體會多出等號。
2、結構form引數時候,存在多個相同引數時候,會把引數按逗號進行拼接,如key=value1,value2 加入一個value為空值情況時候key=value, 接受引數就處理多餘字元。所以一定小心傳參。

3、當@RequestMappin 中設定Consumer 來匹配請求頭,不符合對應請求頭請求,可能會請求失敗,或者請求體接受時候,會進行截段等處理。