当前位置: 首页 > news >正文

-带你看懂11种API类型及应用-

一起走进多样的API,多样的精彩     
 

图片

图片

随着互联网行业的日益发展,API(Application Programming Interface)这个名词对于绝大多数来说都已不再陌生。然而,实际上,根据不同标准可以划分出不同类型的API。今天,让我们来走进多样的API,多样的精彩。

谁来如何使用这个API?调用电商API商品数据接口

根据使用场景的不同来划分API的类型

公共API (Open API)

对所有开发人员和其他用户公开,限制很小。它们可能需要注册、使用API密钥或OAuth等加密条件才能访问,或者是完全开放的。更侧重于外部用户访问数据或服务。

合作伙伴API (Partner API)

仅对战略合作伙伴开放的API,需要特定的权限才能访问。它们通常通过一个API开发门户开放,开发人员可以在自助模式下访问该门户。

内部API(Private API)

对外部用户隐藏,仅供不同的内部开发团队之间使用,以提高生产率和重用服务。良好的治理过程包括将它们暴露给内部API开发门户,通过内部IAM系统以进行身份验证并允许用户访问权限对应的API集。

组合API(Composite API)

和前三种API不同的是,它们是通过API编排功能构建的。它们允许开发人员在一个调用中访问多个端点。例如,在microservices体系结构模式中,需要来自多个服务的信息来执行单个任务时,则可以通过组合API来实现。

图片

图1 - 不同使用场景下的API分类

Data or Service?

根据访问、处理对象的不同来划分API

数据API(Data API)

为各种数据库或SaaS云提供商提供对底层数据集的CRUD访问。在SaaS连接器或内部数据存储的帮助下,需要这些api来处理来自SaaS应用程序的一些基本数据。

内部服务API(Internal Service API)

包括公开内部服务、反映内部流程的一部分或一些复杂的操作。

外部服务API(External Service API)

用于将第三方服务嵌入到公司现有的服务中,并带来附加价值。

UX API(User Experience API)

利用复合API帮助应用程序开发人员为每个特定设备(台式机、移动设备、平板电脑、VPA、物联网)提供正确的体验。

REST or SOAP?

根据传输协议的不同来划分API

REST(REpresentative State Transfer)

REST API是现代web应用程序的关键部分,必须遵守以下规则:

  • 无状态的 (Stateless)

  • 统一接口

  • Client-Server匹配

  • 缓存响应

  • 分层架构 (Layered-Architecture)

SOAP(Simple Object Access Protocol)

第一个标准化应用程序使用网络连接来管理服务的方法。但是SOAP有非常严格的规则和标准, 现在,除了现有的内部部署场景之外,大多数开发人员现在更喜欢倾向于在REST中开发。

RPC(Remote Procedure Call)

最古老和最简单的API类型。目标是让客户机在服务器上执行代码。RPC API是紧密耦合的,因此很难维护或更新它们。

API在任何应用程序的开发中都扮演着关键的角色。REST已经成为构建通过网络通信的应用程序的首选标准。而对于企业来说,随着API数量的增多和调用场景的复杂性,往往会产生“究竟已经开发了多少个API?日活调用量是多少?”或者“我们的数据是否足够安全?”之类的困扰。

http://www.lryc.cn/news/194437.html

相关文章:

  • 集成友盟qq互联分享,导出风险问题处理
  • 探索数字安全的卓越之选 - Digicert证书
  • 第五章 流程控制 Pro
  • CSS之实现线性渐变背景
  • 软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA(7)
  • CentOS-7网卡重启后关闭的解决方法
  • Linux CentOS7 用户组管理
  • C++算法:前缀和基础
  • vue和react的区别
  • STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案
  • 递归最小二乘法RLS
  • Apache Doris (三十九):Doris数据导出 - MySQL dump导出
  • 【Nginx32】Nginx学习:随机索引、真实IP处理与来源处理模块
  • vue3后台管理框架之集成sass
  • 无需付费开会员,一个Python程序实现PDF转高清图片
  • 为分布式系统设计数据库
  • Programming abstractions in C阅读笔记:p179-p180
  • 在 VSCode 中使用 PlantUML
  • css3过渡属性属性名:transition
  • 关于数据链路层(初步)
  • 诊断DLL——CAPL_DLL集成安全访问算法
  • 集合元素处理(传统方式和Stream方式)
  • 亲测好用,这3款免费高清录屏软件,效果惊人!
  • 超声波清洗机洗眼镜真的可以洗干净吗?眼镜超声波清洗机推荐
  • centos7安装部署ElasticSearch
  • websocket+node+vite(vue)实现一个简单的聊天
  • YApi和Swagger接口管理
  • 在不安全的集群上启用 Elasticsearch Xpack 安全性
  • vue清除动态路由
  • rsyslog实现将日志存储到mysql中