Java中如何调用外部接口

发布时间:2023年12月27日


友情提醒:

先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

第一章、快速了解接口

1.1)接口概念

硬件接口:硬件接口是指不同硬件设备之间的连接部分,用于实现设备间的数据传输和控制信号传递等。常见的有USB接口、耳机接口、HDMI接口等。

用户界面接口:用户界面(User Interface)也常被称为接口,它是人与计算机之间的交互媒介,如电脑的操作系统等。用户界面使得用户可以方便地与计算机进行信息交换和控制操作。一般有命令接口、程序接口、图形接口三种。

软件接口:是指不同软件组件之间的通信协议或标准,狭义上是指软件本身的狭义“接口”,用于实现不同软件之间的交互和信息共享。常见的有API接口,也称为应用编程接口。

1.2)狭义的软件接口

①软件本身接口介绍
软件接口通常由请求协议、请求服务器地址、请求服务器地址的端口、接口地址、接口参数等几部分构成。分为以下几种类型:RESTful接口、GraphQL接口、SOAP接口、gRPC接口、消息队列接口、FTP接口等等。

②软件接口作用:
1、安全性提高:软件接口的重要作用是把组件的具体实现隐蔽起来(称为封装 ),组件的使用者只需要了解接口而不需要知道组件的具体实现。

2、定义功能规范:避免子类编码的随意性,当需要扩展新的功能时,子类只需要实现接口,便知道需要重写哪些功能,增加哪些新功能。

3、程序的解耦:通过接口定义统一规范,使用接口类型来接收实现类型对象(多态)。好处是将来调用对象时,只需要通过接口来调用即可,从而实现了程序的解耦。

4、复用性增加,维护成本降低:提高开发效率,接口可以多实现,多继承。一个类除了实现接口之外,还可以继承其它类。使项目分离,所有层都面向接口开发,从而提高开发效率。接口可以使代码和代码之间的耦合度降低,变得可插拔,可切换。

总结:软件接口是个抽象的概念,没法具体描述它是什么。只能抽象的说接口遵守着请求协议,是用来实现不同系统或组件之间进行数据交换和信息共享的

1.3)软件接口和接口之间如何通讯

接口之间的通信通常涉及到不同系统或组件之间的数据交换。以下是几种常见的接口通信方式:HTTP接口、RPC接口、Webservice接口。

1.3.1) 前后端交互过程介绍:HTTP接口

比如我postman发送一个JSON格式的数据到后端,进行传输这个过程中:
1、前端向后端发送HTTP请求获取数据或执行某些操作。HTTP的请求方法是post,请求体内容就是json串
2、后端Controller方法通常接收HTTP请求,根据路径接收到请求后执行相应的逻辑处理
3、将结果封装成HTTP响应返回给前端,HTTP响应包含状态码、响应头和响应体。
4、前端收到响应后,可以根据响应的内容进行相应的处理和展示。

HTTP接口
基于TCP协议的接口,现在浏览器客户端与服务器端通信基本都是采用HTTP协议。SpringCloud框架,各个服务间也是通过HTTP方式(feign)来实现的。HTTP API接口是走HTTP协议,通过路径来区分调用的方法 ,请求报文都是key-value形式的,返回报文一般都是json串。

1、请求方法:常见的HTTP请求方法包括GET、POST、PUT、DELETE等。每种方法规定了客户与服务器联系的类型不同。例如,GET方法用于获取数据,而POST方法用于提交表单或上传文件。
2、请求头:HTTP请求头包含了一些关于请求的附加信息,如请求的主机名、内容类型、内容长度等。这些信息有助于服务器更好地处理请求。
3、响应:HTTP响应包含状态码、响应头和响应体。状态码表示请求的处理结果,如200表示成功,404表示未找到资源。响应头包含了一些关于响应的附加信息,如内容类型、内容长度等。响应体包含实际的数据内容。
4、跨域资源共享(CORS):为了解决浏览器的同源策略限制,引入了CORS机制。CORS允许一个网页的脚本向另一个域的服务器发送跨域请求。通过设置HTTP响应头,可以实现CORS功能,允许或限制跨域请求。
5、安全性:HTTP协议本身不提供加密功能,因此不保证数据的机密性和完整性。为了保护敏感数据,通常使用HTTPS协议代替HTTP协议,通过SSL/TLS协议对传输的数据进行加密。

1.3.2) SpringCloud微服务交互:OpenFeign

OpenFeign也是使用的是HTTP协议。它通过HTTP请求和响应进行通信,类似于在浏览器中发送HTTP请求来获取数据的方式。

1.3.3)RPC接口:

远程过程调用(RMI),基于TCP。自定义数据式,基于原生TCP通信,速度快,效率高。传输的数据格式:XML。

1.3.4)Webservice接口:

Webservice是系统对外的接口。

https://www.cnblogs.com/anruy/p/5946741.html
内部接口

外部接口

1.2)为什么面向接口编程

1.3)简单的接口调用

第二章、接口

2.1)

2.2)

2.3)

第三章、

3.1)

3.2)

3.3)

第四章、

4.1)

4.2)

4.3)

文章来源:https://blog.csdn.net/baomingshu/article/details/135187019
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。