发表于: 2017-01-17 00:08:50
1 768
今天完成的事情:实现了交易流水接口和投资详情接口
明天计划的事情:继续完成接口文档中的内容
遇到的问题:基本的网络请求(get,post)会了,但是其他的还是不太了解,原理不是很清楚。head和body看了一些博客也没看太明白
收获:1.使用retrofit进行网络请求,并在请求体(RequestBody)中添加数据
@Multipart //上传文件使用@Multipart注解
@POST(“网址”)
Call<String> uploadPicture(
@Part("token") RequestBody token, //使用@Part注解向RequestBody中添加参数 一般参数类型都为RequestBody,可以使用转换器Convert转为其他类型
@Part MultipartBody.Part file); //上传文件
RequestBody requestFile = RequestBody.create(MediaType.parse("application/otcet-stream"), new File(s)); //创建RequestBody对象,第二个参数为要上传的文件,其他的目前看不太懂。。
MultipartBody.Part body = MultipartBody.Part.createFormData("file", "share.png", requestFile);
创建Part对象,第一个参数为键名,第二个为文件名,第三个是RequestBody对象
uploadPicture(RequestBody.create(MediaType.parse("multipart/form-data"), "tokenValue"), body);
注意:在方法上同时使用@Multipart和@POST注解时,不能使用@FormUrlEncoded注解,因为@Multipart和@FormUrlEncoded的内部都是对head进行限制,会 冲突。所以使用@Multipart时,参数就不能使用@Field修饰了,使用@Part。不然程序会崩溃。
评论