本来项目用的网络请求框架是Volley,但是又觉得Retrofit那么厉害,之前是比较懵懂的用,好多还是不理解,于是就看了一天的blog,有了了解,算是启蒙;但是网上的blog大多是自己搭的一个后台写接口,然后自己访问,像我这种不会写接口怎么办(时间长了,都快忘没了),就用之前项目已有的接口,所以学的就和网上的blog流程有差异。先用了几个@GET注释,有点差错,但是是粗心导致的,还算顺利。然后结合RxJava使用@GET,也算是顺利,想着既然@GET没问题了那就来@POST吧,找了一个以前的接口,在postman上测试了一下,可以使用,就转到测试@POST中来,结果死掉了,怎么搞都是415,在postman上就是一个接口地址,然后几个key-value,全都是字符串;参数类型怎么会不对呢
想着是不是忘了Headers,发现不需要Headers,用Fiddler抓包,发现也是那几个参数,向别人请教,非要让我自己悟,气晕了。
后来突然想起来了,这个接口参数中是要传图片的,但是可以不传,那就是传文件形式了,开始用的是@FormUrlEncoded和@FiledMap结合的形式,是表单的上传,赶紧改成文件形式的上传@Multipart和@PartMap配合使用,然后成功了。
心酸!本来打算循序渐进的,先不看文件上传,放到后面再看,结果自己蹦出来了
区别,表单上传都是用&间隔的,成字符串,如下
用文件上传就会有标签隔开
如下:
以后不会犯了!!!