Java调用第三方http接口的常用方式

前言

一、通过JDK网络类Java.net.HttpURLConnection

二、通过apache common封装好的HttpClient

三、通过Spring的RestTemplate

总结


前言

今天项目需要接口互相调用,就看了一下这几个调用的方式


一、通过JDK网络类Java.net.HttpURLConnection

  1. 通过java.net包下的原生java.api提供的http请求

  2. 使用步骤:

    1. 通过统一的资源定位器(java.net.URL)获取连接器(java.net.URLConnection)

    2. 设置请求参数

    3. 发送请求

    4. 以输入流的形式获取返回参数

    5. 关闭输入流

    6. 它是一种比较原始的一种调用方法,这里把get请求和post请求都统一放在一个方法里面.这里主要想说第二种相对简单的调用方法,这里不再赘述

二、通过apache common封装好的HttpClient

  1. 简介:httpclient到目前为止最新是5.1版,Http client专为推展而设计.同事为基本的http协议提供强大的支持,尽管java.net包提供了通过http访问的基本功能,但是未提供许多应用程序所需要的功能
  2. 使用步骤:
    1. 生成一个HttpClient对象并且设置相应的参数
    2. 生一个GetMethod对象或者PostMethod并设置相应的参数;
    3. 用HttpClient生成的对象来执行GetMethod生成的Get方法
    4. 处理状态响应状态码
    5. 若响应正常,处理HTTP响应内容
    6. 释放连接.无论执行方法是否成功.都必须释放连接.

三、通过Spring的RestTemplate

  1. RestTemple是前三种方式的集大成者,代码编写简单,目前可以采用调用第三方接口有:
  2. delete()在特定的URL上对资源执行HTTP DELETE操作
  3. exchange()在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中映射得到的
  4. excute()在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象
  5. getForEntity()发送一个HTTP GET请求,返回ResponseEntity包含了响应体所映射的对象
  6. getForObject()发送一个HTTP GET请求,返回包含一个对象的返回请求将会映射得到的
  7. postForObject:返回数据到一个URL,返回根据响应体匹配形成的对象
  8. headForHeaders()发送http head请求,返回包含特定资源URL的HTTP头
  9. optionsForAllow()发送HTTP OPTIONS请求,返回对特定URL的Allow头信息
  10. postForLocation()post数据到一个URL,返回新创建资源的URL
  11. put()PUT资源到指定的URL


总结

目前项目中大多场景下还是使用HttpClient

参考和学习文档:

Java调用第三方http接口的常用方式_java调用http接口_普通网友的博客-CSDN博客

你可能感兴趣的:(java,网络,开发语言,spring,spring,boot)