最近在安卓新项目上遇到个比较奇怪的问题。Retrofit+okhttp发送post请求,出现Required request body is missing,这一看像是服务端接口的异常,没接收到请求参数的对象。
Postman发起请求,居然能正常接收。
既然如此,抓包,Fiddler开起来。
Conten-Type看着也没问题。
那就写的Okhttp请求测试。只设置参数,header不设置。居然也不行,怪哉。难道我写的代码有问题?去网上随便复制了一个okhttp的请求demo,改完接口参数居然可以,唯一的区别就是它设置了Conten-Type:application/json;charset=UTF-8;这不是和刚刚fiddler抓到的一样吗?
虽然我不愿意相信是okhttp默认的Conten-Type搞得鬼,但事实如此。也许是charset前面那个空格引起的,也可能是服务器哪里配置错了,就先这样吧