Android retrofit2.0 raw请求

铁石心肠 1年前 ⋅ 880 阅读

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

这里写图片描述

 

转载:https://blog.csdn.net/danfengw/article/details/79153340?utm_source=blogxgwz3


全部评论: 0

    我有话说:

    咨询问题

    点击这里给我发消息

    淘宝咨询

    博主承接代做业务

    真·送云服务器

    咨询博主