//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);