com.foreveross.springboot.dubbo.utils.OkHttpClientUtils Maven / Gradle / Ivy
package com.foreveross.springboot.dubbo.utils;
import com.squareup.okhttp.*;
import org.codehaus.jackson.map.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* Created by chenShaoWen on 2016/6/21.
*
* rest Client工具类
*/
public class OkHttpClientUtils {
private final static Logger logger = LoggerFactory.getLogger(OkHttpClientUtils.class);
private final static OkHttpClient okHttpClient = new OkHttpClient();
static {
okHttpClient.setConnectTimeout(30, TimeUnit.SECONDS);
}
private final static ObjectMapper objectMapper = new ObjectMapper();
public static Map getFromKong(String target) throws IOException {
if (target != null && target != "") {
Request request = new Request.Builder().url(target).build();
Response response = okHttpClient.newCall(request).execute();
String resuit = response.body().string();
return objectMapper.readValue(resuit, Map.class);
}
return (Map) (new HashMap()).put("error", "params exception");
}
public static Map postToKong(Map map, String target) throws IOException {
MediaType json = MediaType.parse("application/json; charset=utf-8");
if (map != null && target != null) {
RequestBody body = RequestBody.create(json, objectMapper.writeValueAsString(map));
Request request = new Request.Builder().url(target).post(body).build();
Response response = okHttpClient.newCall(request).execute();
String resuit = response.body().string();
return objectMapper.readValue(resuit, Map.class);
}
return (Map) (new HashMap()).put("error", "params exception");
}
public static boolean deleteFromKong(String target) throws IOException {
if (target != null && target != "") {
Request request = new Request.Builder().url(target).delete().build();
Response response = okHttpClient.newCall(request).execute();
String status = String.valueOf(response.code());
if (status.matches("^2.*")) {
return true;
}
return false;
}
return false;
}
}