最近在使用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

更多相关文章

  1. GitHub 标星 2.5K+!教你通过玩游戏的方式学习 VIM!
  2. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  3. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  4. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  5. Android支持库中Fragment的使用及参数传递
  6. Android(安卓)USB串口通信实现 以及绕过USB弹框验证
  7. android,微信,人人,微博开机加载一幅图片,再跳转到主应用的实现
  8. 关于Android加载状态视图切换
  9. Android(安卓)SQlite数据库常规操作

随机推荐

  1. Android中截图(surfaceView)
  2. Android系统篇之----Android中的run-as命
  3. 【转发】Android(安卓)Metro风格的Launch
  4. Android(安卓)Studio 模板用法与自定义模
  5. android构建自定义的视图组件onMeasure
  6. Android中资源文件(非代码部分)的使用概
  7. Android(安卓)播放网络视频,视频流的处理
  8. Android学习笔记(36):Android的两种事件
  9. 云时代下,设备的移动性到底对企业有什么影
  10. 【Android】Android(安卓)手机杀进程并不