java 使用 okhttp发送http请求获取接口数据

为什么需要使用okhttp:
目前我们学习的所有中只有html中的超链接和form表单才可以发送http请求,另外一个就是ajx异步发送http请求获取数据。
但是在实际开发需求中,比如我们的安卓程序需要从服务器获取数据,我们就需要利用java代码来发送http请求,这个时候就需要使用一个插件,这个老版本叫httpClient,这个不怎么好用, 现在大部分使用okhttp
首先需要导入包:
okhttp需要两个包:
这里写图片描述

包自己百度下载,

get获取数据:

public static void main(String[] args) {
        OkHttpClient okHttpClient = new OkHttpClient();
        Response response;
        String url = "http://localhost:8088/JsonServer/role/getRole!getData.action";
        Request request = new Request.Builder().url(url).get().build();
        try {
            response = okHttpClient.newCall(request).execute();

            System.out.println(response.body().string());


        } catch (IOException e) {
            e.printStackTrace();
        }
    }

至于post,以及其他异步的方式可以自行百度!很简单

总结:
1、我们常用的web服务器开发方式是利用jsp来进行视图层展示数据,jsp的数据实际上是从域对象获取的,jsp吧数据展示完成转换成html发送到客户端展示,【服务器吧数据存入域对象】
2、我们前后端分离的方式就是 页面不使用动态页面技术(jsp),而是使用ajax访问接口获取数据,展示到我们的页面上,【服务器把数据以流的形式传输回客户端】
3、同时如果是其他客户端,比如swing、android或者其他java原生代码需要发送http请求获取数据,就需要使用okhttp类似的插件来完成。【服务器把数据以流的形式传输回客户端】

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 通过get方式获取接口数据,可以使用JavaHTTP请求库来发送HTTP请求HTTP请求分为GET和POST两种方式,GET请求的作用是向指定的实体资源发出请求并返回实体的响应结果,GET方法发送数据会附加在URL之后,以'?'分割URL和传输数据,多个参数之间用'&'隔开。 Java中常用的HTTP请求库有Apache HttpClient、OkHttp和HttpURLConnection等,其中HttpURLConnection是Java自带的HTTP请求类,使用比较方便。可以通过以下步骤来获取接口数据: 1. 创建URL对象,指定要访问的接口地址 2. 调用URL类的openConnection方法初始化一个HttpURLConnection对象,并设置请求类型为GET 3. 设置请求头部信息,如User-Agent、Accept-Encoding等 4. 发送请求并获取服务器响应的状态码 5. 读取服务器返回的数据并以字符串形式返回 例如,使用HttpURLConnection发起GET请求的示例代码如下: ``` URL url = new URL("http://example.com/api/data"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setRequestProperty("User-Agent", "Mozilla/5.0"); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader in = new BufferedReader( new InputStreamReader(connection.getInputStream())); String inputLine; StringBuilder response = new StringBuilder(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); System.out.println(response.toString()); } else { System.out.println("GET request unsuccessful"); } ``` 通过以上方法,Java可以方便地使用GET方式获取API接口数据。当然,在实际开发中,还需要根据具体需求对请求头部信息、响应码等进行自定义设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值