Java:OkHttp基本使用

简介: Java:OkHttp基本使用

文档:https://square.github.io/okhttp/

依赖

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.8.1</version>
</dependency>
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13</version>
    <scope>test</scope>
</dependency>

代码示例

package com.demo;
import com.google.gson.Gson;
import okhttp3.*;
import org.junit.Test;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class Demo {
    public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
    /**
     * 发送GET请求
     */
    @Test
    public void getRequest() throws IOException {
        OkHttpClient client = new OkHttpClient();
        Request request = new Request.Builder()
                .url("http://httpbin.org/get")
                .build();
        Response response = client.newCall(request).execute();
        if (response.isSuccessful()) {
            System.out.println(response.body().string());
        }
    }
    /**
     * POST请求
     */
    @Test
    public void postRequest() throws IOException {
        OkHttpClient client = new OkHttpClient();
        // 提交FormData
        FormBody.Builder form = new FormBody.Builder();
        form.add("name", "Tom");
        form.add("age", "23");
        Request request = new Request.Builder()
                .url("http://httpbin.org/post")
                .post(form.build())
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
    /**
     * 提交Json
     */
    @Test
    public void postJsonRequest() throws IOException {
        OkHttpClient client = new OkHttpClient();
        Map<String, Object> map = new HashMap<>();
        map.put("name", "Tom");
        map.put("age", 23);
        Gson gson = new Gson();
        String data = gson.toJson(map);
        RequestBody requestBody = RequestBody.create(data, JSON);
        Request request = new Request.Builder()
                .url("http://httpbin.org/post")
                .post(requestBody)
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}
相关文章
|
存储 Java 索引
【零基础学Java】—ArrayList集合概述和基本使用(十四)
【零基础学Java】—ArrayList集合概述和基本使用(十四)
|
Java
Java 中Calendar日历类的基本使用
Java 中Calendar日历类的基本使用
214 1
|
算法 Java 编译器
重学Java之泛型的基本使用
重学Java之泛型的基本使用
|
Java 机器人 开发者
21、Java 中接口的基本使用
21、Java 中接口的基本使用
96 0
|
Kubernetes Java 数据库连接
java之路——带你了解springboot框架与其基本使用(下)
java之路——带你了解springboot框架与其基本使用(下)
294 0
|
存储 Java 索引
[正式学习java②]——数组的基本使用,java内存图与内存分配
[正式学习java②]——数组的基本使用,java内存图与内存分配
123 0
|
IDE Java 开发工具
Java 集成开发环境 eclipse 的安装及基本使用
Java 集成开发环境 eclipse 的安装及基本使用
612 0
Java 集成开发环境 eclipse 的安装及基本使用
|
Java
Java学习之路001——基础语法以及IDEA的基本使用(下)
在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。
252 0
|
Java
Java学习之路001——基础语法以及IDEA的基本使用(中)
默认转换(从小的数据类型到大的数据类型) • byte,short,char-int-long-float-double • byte,short,char相互之间不转换,它们参与运算首先转换为int
263 0
|
Java 程序员 开发工具
Java学习之路001——基础语法以及IDEA的基本使用(上)
目录 1.1 开发工具介绍 1.2 案例开发步骤 1.3 程序解析 1.4 常见错误 2.1 关键字 2.1.1 常见关键字
349 0