rest service 测试过程中的问题

1、发现用rest client工具测试接口成功,但是原生的方法模拟请求,却失败了

2、利用抓包工具对两次的请求进行监控,如下:

请求成功的body

{"Data":'{"sex":1,"userName":"............",
请求失败的body部分
.E{"Data":'{"sex":"1",
发现两个body部分不一样,失败的请求body原数据前多了部分内容
3、原来是因为DataOutputStream和OutputStreamWriter,之所以失败是因为用了DataOutputStream为了更好的处理字符还是用OutputStreamWriter,如果是二进制用DataOutputStream
4、在用FastJson的过程中也有些问题
1)、字段名首字母大写,在输出json后,自动变成了小写。需要用注解@JSONField(name = "UserName")在字段上。
2)、如果字段为null,在输出json后,没有了这个字段。在输出json时,需要多加一个参数:JSON.toJSONString(user,SerializerFeature.WriteMapNullValue);又特地查了下,为null时的处理有多种情况:

QuoteFieldNames———-输出key时是否使用双引号,认为true
WriteMapNullValue——–是否输出值为null的字段,认为false
WriteNullNumberAsZero—-数值字段如果为null,输出为0,而非null
WriteNullListAsEmpty—–List字段如果为null,输出为[],而非null
WriteNullStringAsEmpty—字符类型字段如果为null,输出为”“,而非null
WriteNullBooleanAsFalse–Boolean字段如果为null,输出为false,而非null

做一记录。

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...