C公共信息

CA综合信息

CB综合文摘

CC武汉信息

CD湖北信息

CE华中大信息

 

| API定义 | AI定义 | AI共生 | AI平权 | 人机共生决策 | AI+UVCA | 常用缩写释义 | 名词术语 | 非常见字词 |

| 吕阿华的AIGC学习手册 |

在VUCA(易变性、不确定性、复杂性、模糊性)环境中,AI技术能够通过数据驱动、智能建模和实时响应显著提升决策的确定性和行动力。

 

你对API(应用程序编程接口) 的定义和常见类型的概括非常清晰和专业。我来帮你梳理和补充一下,使其更系统化:


API 的核心定义

API 的核心正如你所说:

  1. 规则与协议: 定义软件组件之间如何通信(包括数据格式、请求结构、响应格式、错误处理等)。
  2. 抽象层: 隐藏内部实现细节,只暴露预定义的接口(函数、方法、端点)。调用者无需知道服务内部如何工作,只需知道如何调用接口以及预期结果。
  3. 交互桥梁: 使不同软件系统(无论语言、平台、位置)能够安全、可靠、高效地交换数据和调用功能

核心价值: 解耦、复用、效率、标准化。开发者无需重复造轮子,只需通过API集成现有功能。


常见API类型(补充与细化你的分类)

你的分类(Web API、本地API、远程API)是很好的起点,以下结合更常见的维度细化:

  1. 按作用范围/使用场景分:

    • 操作系统API (本地API):
      • 如:Windows API (Win32), POSIX API (Linux/Unix), macOS Cocoa API。
      • 作用: 让应用程序调用操作系统底层功能(文件操作、内存管理、图形界面、设备驱动等)。
    • 库/框架API:
      • 如:Java标准库 (java.util, java.io), Python的NumPy库, JavaScript的React框架API。
      • 作用: 提供特定编程语言或框架内的预构建功能模块,供开发者调用。
    • Web API / Web Service API:
      • 如:RESTful API, SOAP API, GraphQL API。
      • 协议: 主要基于HTTP/HTTPS。
      • 作用: 通过网络暴露服务或数据,供远程客户端(Web应用、移动App、其他服务器)调用。这是目前最主流的API形式。
      • 关键特点: 无状态(REST)、标准化数据格式(JSON/XML)。
    • 硬件API:
      • 如:访问摄像头、传感器(GPS、加速度计)、打印机、显卡驱动(如OpenGL, Vulkan)的接口。
      • 作用: 让软件控制或与特定硬件设备交互。
    • 数据库API:
      • 如:JDBC (Java), ODBC (通用), ADO.NET (.NET), ORM框架(如Hibernate, SQLAlchemy)提供的API。
      • 作用: 提供统一接口连接和操作不同类型的数据库(MySQL, PostgreSQL, Oracle等)。
  2. 按通信技术/架构分 (与你提到的“远程API”概念相关):

    • RPC (Remote Procedure Call) API:
      • 如:gRPC (Google, 高性能,基于HTTP/2), XML-RPC, JSON-RPC。
      • 核心思想: 让调用远程服务器的函数/方法像调用本地函数一样简单(试图隐藏网络通信细节)。
    • RESTful API (Representational State Transfer):
      • 当前Web API的主流风格。基于HTTP方法 (GET, POST, PUT, DELETE等) 和资源标识符 (URL) 来操作资源。强调无状态、可缓存、统一接口。
    • SOAP API (Simple Object Access Protocol):
      • 基于XML的较老协议,定义严格(WSDL文件),通常更重但安全性/事务性支持可能更好(常见于企业级、金融系统)。
    • GraphQL API:
      • 由客户端精确指定所需数据的结构,避免RESTful API中可能出现的“过度获取”或“获取不足”问题。查询语言本身即API。
    • 消息队列API:
      • 如:RabbitMQ, Kafka, AWS SQS提供的客户端API。
      • 作用: 用于实现异步通信和解耦,生产者发送消息到队列,消费者从队列接收并处理。

为什么API如此重要?


总结

你给出的定义(规则协议、预定义接口、数据传输、功能调用)和类型(Web、本地、远程)是API概念的核心精髓。补充的类型和维度是为了让你看到API在不同层面、不同技术栈下的广泛应用形态。理解API是现代软件开发和系统集成的必备基础知识!

| 主页 | 道路检索 | 资源目录 | 道路设计指引 | (手机建议横屏浏览)服务支持QQ1789883370