Android(安卓)retrofit2.0 raw请求
16lz
2021-01-25
最近在使用retrofit的时候遇见一个问题,当我本地使用postman进行请求时可以获取到返回结果,但是当我使用retrofit通过post方式请求时却返回500的错误。
我们平时使用retrofit进行请求一般都是以表单的形式进行,嗯,当然现在越来越多的以表单的形式进行请求数据了,但是为什么在postman上同样的post请求,在android上却得不到正确的结果?注意上图postman的post请求中有form-data和raw两种形式,这就是问题的原因所在,那么raw方式与form方式进行请求有什么不同?raw方式使用的是纯字符串的数据上传方式,所以在POST之前,可能需要手工的把一些JSON格式的数据转换成字符串的(加两单引号)
Form-data的方式就是key-value的提交,数据其实是分割的。
解决方式:@Body +Entity
Entity中不需要重写toString方法
这里再补充一点:
postman的那张截图可以看出来,返回值并不是Gson格式的,如果你也遇到使用retrofit时返回就是个string 可以添加scalars转换器,可以查看说明。
https://futurestud.io/tutorials/retrofit-2-how-to-send-plain-text-request-body
更多相关文章
- GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android支持库中Fragment的使用及参数传递
- Android(安卓)USB串口通信实现 以及绕过USB弹框验证
- android,微信,人人,微博开机加载一幅图片,再跳转到主应用的实现
- 关于Android加载状态视图切换
- Android(安卓)SQlite数据库常规操作