okhttp 3.0 多参数传递

来源:互联网 发布:灵魂摆渡3风华绝代知乎 编辑:程序博客网 时间:2024/05/22 02:11
  //post 请求    public Call postAsynHttp(String url, Map<String, String> params) {        FormBody.Builder builder = new FormBody.Builder();        Param[] paramsArr =  map2Params(params);        for (Param param : paramsArr){            builder.add(param.key,param.value).build();        }        RequestBody body = builder.build();        Request request = new Request.Builder().url(url).post(body).build();        Call call = mOkHttpClient.newCall(request);        return call;    }
       
     /**     * post请求参数类     */    public static class Param {        String key;//请求的参数        String value;//参数的值        public Param(String key, String value) {            this.key = key;            this.value = value;        }    }    private Param[] map2Params(Map<String, String> params) {        if (params == null) return new Param[0];        int size = params.size();        Param[] res = new Param[size];        Set<Map.Entry<String, String>> entries = params.entrySet();        int i = 0;        for (Map.Entry<String, String> entry : entries) {            res[i++] = new Param(entry.getKey(), entry.getValue());        }        return res;    }

//调用

       final String phone = et_usertel.getText().toString();        String regCode = et_code.getText().toString();         Map<String, String> param = new HashMap<>();         param.put("regCode", regCode);         param.put("phone",phone);         Call mcall = okHttpUtils.postAsynHttp(Constant.BASE_URL + Constant.REGISTER_URL, param);




0 0
原创粉丝点击