OKHttp使用

给旧系统做了个小功能,要调用到其他服务。因为没有fegin,就通过HTTP来发请求。

  • 工具类
public class OkHttpUtil {
     

    private static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
    private static OkHttpClient client = new OkHttpClient();

    public static Response get(String url) throws IOException {
     
        Request request = new Request.Builder()
                .url(url)
                .build();
        return client.newCall(request).execute();
    }

    public static Response post(String url, String json) throws IOException {
     
        RequestBody body = RequestBody.create(JSON, json);
        Request request = new Request.Builder()
                .url(url)
                .post(body)
                .build();
        return client.newCall(request).execute();
    }

    public static Response put(String url, String json) throws IOException {
     
        RequestBody body = RequestBody.create(JSON, json);
        Request request = new Request.Builder()
                .url(url)
                .put(body)
                .build();
        return client.newCall(request).execute();
    }

    public static Response delete(String url) throws IOException {
     
        Request request = new Request.Builder()
                .url(url)
                .delete()
                .build();
        return client.newCall(request).execute();
    }

    public static Response delete(String url, String json) throws IOException {
     
        RequestBody body = RequestBody.create(JSON, json);
        Request request = new Request.Builder()
                .url(url)
                .delete(body)
                .build();
        return client.newCall(request).execute();
    }


}
  • 使用
// jsonString是json格式字符串
Response response =  OkHttpUtil.put(url, jsonString);
logger.info("update response: {}", response);
// 这里可以拿到请求返回的json串
String responseJson = response.body().string();
logger.info("update responseJson: {}", responseJson);

你可能感兴趣的:(工具)