使用Retrofit踩到的坑(持续更新)

来源:互联网 发布:淘宝的返利机器人 编辑:程序博客网 时间:2024/06/05 07:34
  1. 网络请求时多加了一条“/”,导致请求数据时一直失败
  2. 当json数据无法解析时,可以直接请求json数据,此时泛型使用JsonObject/jsonArray 进行请求,可以得到未解析的json数据
  3. 长传图片时
//必须使用Multipart进行上传   @Multipart    @POST("index.php?act=member&op=stepTwo")    Observable<ApproveInfo> approveTwo(            @PartMap Map<String, RequestBody> params    ); public void approveTwo(Subscriber<ApproveInfo> subscriber, String back, String front) {        File backFile = new File(back);        File frontFile = new File(front);        Map<String, RequestBody> map = new HashMap<>();        map.put("key", toRequstBody(getToken()));        //上传图片时使用该类型方式        map.put("idcard_back\";filename=\"" + backFile.getName(), RequestBody.create(MediaType.parse("image/jpg"), backFile));        map.put("idcard_front\";filename=\"" + frontFile.getName(), RequestBody.create(MediaType.parse("image/jpg"), frontFile));        map.put("is_face", toRequstBody("1"));        map.put("client", toRequstBody("android"));        Observable<ApproveInfo> observable = httpService.approveTwo(map);        toSubscribe(observable, subscriber);    }    /**     * RequestBody解析字符串的方法     *     * @param value     * @return     */    private RequestBody toRequstBody(String value) {        RequestBody body = RequestBody.create(MediaType.parse("text/plain"), value);        return body;    }
0 0
原创粉丝点击