rest service 測試過程當中的問題

一、發現用rest client工具測試接口成功,可是原生的方法模擬請求,卻失敗了json

二、利用抓包工具對兩次的請求進行監控,以下:工具

請求成功的body測試

{"Data":'{"sex":1,"userName":"............",
請求失敗的body部分
.E{"Data":'{"sex":"1","userName":"............",
發現兩個body部分不同,失敗的請求body原數據前多了部份內容
三、原來是由於DataOutputStream和OutputStreamWriter,之因此失敗是由於用了DataOutputStream爲了更好的處理字符仍是用OutputStreamWriter,若是是二進制用DataOutputStream
四、在用FastJson的過程當中也有些問題
1)、字段名首字母大寫,在輸出json後,自動變成了小寫。須要用註解@JSONField(name = "UserName")在字段上。
2)、若是字段爲null,在輸出json後,沒有了這個字段。在輸出json時,須要多加一個參數:JSON.toJSONString(user,SerializerFeature.WriteMapNullValue);又特意查了下,爲null時的處理有多種狀況:rest

QuoteFieldNames———-輸出key時是否使用雙引號,默認爲true
WriteMapNullValue——–是否輸出值爲null的字段,默認爲false
WriteNullNumberAsZero—-數值字段若是爲null,輸出爲0,而非null
WriteNullListAsEmpty—–List字段若是爲null,輸出爲[],而非null
WriteNullStringAsEmpty—字符類型字段若是爲null,輸出爲」「,而非null
WriteNullBooleanAsFalse–Boolean字段若是爲null,輸出爲false,而非null接口

作一記錄。it

相關文章
相關標籤/搜索