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

相关文章
相关标签/搜索