当前位置: 首页 > 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?日活调用量是多少?”或者“我们的数据是否足够安全?”之类的困扰。

相关文章:

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

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

集成友盟qq互联分享,导出风险问题处理

处理方案:移除 android:exported"true"即可。 注意友盟SDK QQ share 里默认配置是android:exported"true",所以要覆盖即可。...

探索数字安全的卓越之选 - Digicert证书

在数字时代,数据安全和隐私保护变得尤为重要。无论是个人网站、电子商务平台还是大型企业,保护用户数据和建立信任都是至关重要的任务。在这个领域,Digicert是一个备受推崇的品牌,提供了卓越的数字证书解决方案,以确保…...

第五章 流程控制 Pro

五、流程控制 1、条件语句 一、if语句(三种形式) 1、单分支语句: if (表达式)语句; //表达式可以是任何表达式 0和非0 多条语句加{ }构成复合语句 2、双分支语句 if(表达式) 语句1; else 语句2…...

CSS之实现线性渐变背景

1. background: linear-gradient() background: linear-gradient是CSS中用于创建线性渐变背景的属性,这个属性允许你定义一个在元素的背景中进行渐变的效果,可以从一个颜色过渡到另一个颜色。 基本语法 background: linear-gradient(direction, color-…...

软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA(7)

接前一篇文章:软考 系统架构设计师系列知识点之特定领域软件体系结构DSSA(6) 所属章节: 第7章. 系统架构设计基础知识 第5节. 特定领域软件体系结构 相关试题 5. 特定领域软件架构(Domain Specific Software Archite…...

CentOS-7网卡重启后关闭的解决方法

第一步查找网卡: ip addr 如下图: 于是发现网卡eth0。 第二步进入网卡配置目录并进行配置: cd /etc/sysconfig/network-scriptsvim ifcfg-eth0 第三步改配置如下图: 然后每次重启后网卡会自动启动。...

Linux CentOS7 用户组管理

Linux操作系统基于多用户的设计理念,允许多个用户同时使用系统资源。用户是登录系统并使用系统资源的个体,其都有自己的账户和密码。用户组是将众多用户归类为一组。Linux中的用户和用户组是系统安全和权限管理的基础。本文将探讨Linux中用户组的创建和管…...

C++算法:前缀和基础

相关 源码测试用例下载 https://download.csdn.net/download/he_zhidan/88430716 包括4个压缩包,初始代码,实现前缀和,实现前缀积,实现前缀异或。都是在前者的基础上修改的。 本博文是CSDN学院课程的讲义 https://edu.csdn.net/c…...

vue和react的区别

目录 1. 数据绑定 Vue React 2. 组件化 Vue React 3. 学习曲线 4. 状态管理 Vue React 5. 社区和生态系统 3. 学习曲线 4. 状态管理 Vue React 5. 生态系统 6. 社区和支持 7. 性能 8. 生产环境性能 9.语法和模板: 结论 当涉及到前端开发框架时&#xff0c…...

STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案

STM32 之 HAL 库串口 USART 丢数据及ORE卡死的解决方案_hal_uart_error_ore-CSDN博客...

递归最小二乘法RLS

参考:RLS递归最小二乘法(Recursive Least Squares)_hymwgk的博客-CSDN博客...

Apache Doris (三十九):Doris数据导出 - MySQL dump导出

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录...

【Nginx32】Nginx学习:随机索引、真实IP处理与来源处理模块

Nginx学习:随机索引、真实IP处理与来源处理模块 完成了代理这个大模块的学习,我们继续其它 Nginx 中 HTTP 相关的模块学习。今天的内容都比较简单,不过最后的来源处理非常有用,可以帮我们解决外链问题。另外两个其实大家了解一下就…...

vue3后台管理框架之集成sass

我们目前在组件内部已经可以使用scss样式,因为在配置styleLint工具的时候,项目当中已经安装过sass sass-loader,因此我们再组件内可以使用scss语法!!!需要加上lang="scss" <style scoped lang="scss"></style> 接下来我们为项目添加一些…...

无需付费开会员,一个Python程序实现PDF转高清图片

今天需要将一个PDF导出为图片&#xff0c;但是一般的在线转换网站导出的图片清晰度都不高&#xff0c;分辨率只有1241*1754&#xff0c;这就导致输出的图片放大后字体是有点模糊的&#xff0c;所以就想到了使用Python中的PyPDF2库来处理PDF文件&#xff0c;以及Pillow库来处理图…...

为分布式系统设计数据库

【squids.cn】 全网zui低价RDS&#xff0c;免费的迁移工具DBMotion、数据库备份工具DBTwin、SQL开发工具等 数据库设计是微服务和云原生解决方案的关键因素&#xff0c;因为基于微服务的架构导致了数据的分布式。数据管理不再在一个单一的过程中发生&#xff0c;而是可以通过多…...

Programming abstractions in C阅读笔记:p179-p180

《Programming Abstractions In C》学习第60天&#xff0c;p179-p180总结。 一、技术总结 1.palindrome(回文) (1)包含单个字符的字符串(如"a")&#xff0c;或者空字符串(如" ")也是回文。 (2)示例&#xff1a;“level”、“noon”。 2.predicate fun…...

在 VSCode 中使用 PlantUML

最近&#xff0c;因为工作需要绘制一些逻辑图&#xff0c;我自己现在使用的是 PlantUML 或者 mermaid&#xff0c;相比之下前者更加强大。不过它的环境也麻烦一些&#xff0c;mermaid 在一些软件上已经内置了。但是 PlantUML 一般需要自己本地安装或者使用远程服务器&#xff0…...

css3过渡属性属性名:transition

CSS3的过渡属性属性名是transition&#xff0c;它允许我们在状态改变时为元素添加过渡效果&#xff0c;例如在元素从一种样式变为另一种样式时添加平滑的过渡效果。 transition的语法如下&#xff1a; transition: property duration timing-function delay;其中&#xff0c;…...

关于数据链路层(初步)

以太网帧格式&#xff1a; 源地址和目的地址是指网卡的硬件地址&#xff08;也叫MAC地址&#xff09;&#xff0c;长度是48位&#xff0c;是在网卡出厂时固 化的&#xff1b; 帧协议类型字段有三种值&#xff0c;分别对应载荷的形式&#xff0c;有IP、ARP、RARP&#xff1b; …...

诊断DLL——CAPL_DLL集成安全访问算法

文章目录 前言一、CAPL DLL简介DLL生成C2338报错解决方案:二、添加27服务解锁算法三、CAPL调用dll前言 在实际诊断工程应用中,如UDS刷写——27服务,经常会遇到一些Seed2Key的算法问题,为了安全保密,这个算法的源码不便公开,我们可以将其打包成DLL,然后在CANoe诊断控制面…...

集合元素处理(传统方式和Stream方式)

1、集合元素处理&#xff08;传统方式&#xff09; 现在有两个ArrayList集合存储队伍当中的多个成员姓名&#xff0c;要求使用传统的for循环&#xff08;或增强for循环&#xff09;依次进行一下若干操作步骤&#xff1a; 第一个队伍只要 名字为 3 个字 的成员姓名&#xff1b;存…...

亲测好用,这3款免费高清录屏软件,效果惊人!

在当今社会上&#xff0c;录屏软件已经成为了人们日常生活中不可或缺的一部分。无论是在工作还是学习中&#xff0c;我们都需要使用录屏软件来录制屏幕上的内容。然而&#xff0c;许多录屏软件都是收费的&#xff0c;这对于那些想要尝试录屏软件但又不想花钱的人来说&#xff0…...

超声波清洗机洗眼镜真的可以洗干净吗?眼镜超声波清洗机推荐

截止2023年4月份近视眼的统计&#xff0c;我过近视人群高达3亿人&#xff0c;可想而知现在近视的群体是有多么庞大的。近视就免不了要戴眼镜&#xff0c;但是一副眼镜长时间的佩戴不清洗的话&#xff0c;镜片会不清晰&#xff0c;也有的朋友会眼镜脏了就去配一副新的&#xff0…...

centos7安装部署ElasticSearch

文章目录 ElasticSearch安装部署简介安装卸载 ElasticSearch安装部署 简介 全文搜索属于最常见的需求&#xff0c;开源的 Elasticsearch &#xff08;以下简称 es&#xff09;是目前全文搜索引擎的首选。 它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、G…...

websocket+node+vite(vue)实现一个简单的聊天

1.前端逻辑 本项目基于之前搭建的vite环境&#xff1a;https://blog.csdn.net/beekim/article/details/128083106?spm1001.2014.3001.5501 新增一个登录页和聊天室页面 <template><div>登录页</div><div>用户名:<input type"text" pl…...

YApi和Swagger接口管理

这篇博客针对苍穹外卖而写 YApi 之前的官网&#xff1a;yapi.smart-xwork.cn 由于之前的网址访问不了&#xff0c;现在我用的是这个网址&#xff1a;YApi Pro-高效、易用、功能强大的可视化接口管理平台 登录之后如下 创建两个工作空间 用户端接口也是如法炮制 Swagger 使用…...

在不安全的集群上启用 Elasticsearch Xpack 安全性

本博文详细描述如何把一个没有启动安全的 Elasticsearch 集群升级为一个带有 HTTPS 访问的启用 Elasticsearch xpack 安全的集群。 为了增强 Elasticsearch 集群的安全性&#xff0c;你需要执行完全集群重启&#xff0c;并在客户端进行一些更改。 启用身份验证后&#xff0c;所…...

vue清除动态路由

项目中往往都是添加动态路由&#xff0c;如何删除已经添加进来的路由往往被忽视&#xff0c;为此这里做一下记录&#xff1a; 查看vue-router路由文档 可以看出 Vue2中是通过matcher来进行重新赋值来进行清空的。 let createRouter () > new Router({mode: history, //ha…...

wordpress打开html/最新全国疫情消息

它取决于您定义为必需的&#xff1a;没有任何头字段必须与每个响应一起发送&#xff0c;无论什么情况&#xff0c;但有真正应该发送的头字段。唯一接近的头字段是Date&#xff0c;但即使它有它的情况下它不是必需的。在RFC 2119的说法中&#xff0c;术语MUST意味着某些是规范的…...

网站栏目标签如何调用/营销策划公司 品牌策划公司

来源&#xff1a;AI科技评论我们什么时候才能拥有在各方面能够模仿人脑的人工智能&#xff1f;专家们对这个问题意见不一。但大家都同意的是&#xff0c;目前的人工智能系统与人类的智力相去甚远。直接表现是&#xff1a;AI只在特定任务中表现优异&#xff0c;无法将其能力扩展…...

在哪个网站上做预收款报告/网络整合营销推广

创建元素 使用document.createElement()可以创建新元素。这个方法只接受一个参数&#xff0c;即要创建元素的标签名。这个标签名在HTML文档中不区分大小写&#xff0c;在XHTML中区分大小写。 var div document.createElement("div"); 使用createElement()方法创建…...

wordpress文件无法创建目录/网页设计制作网站代码

本教程将介绍执行哪些步骤才能在应用程序中添加Telerik UI for WPF控件。 本文主要向您展示如何在XAML中手动声明命名空间。 几乎所有Telerik控件都可以在“telerik”URI 命名空间架构中找到&#xff0c;您只能使用此命名空间来访问在应用程序中引用的Telerik程序集中的所有控…...

高端h5网站/软件外包网

编号&#xff1a;8659 2017&#xff0d;2018学年度第二学期期末考试 计算机平面设计&#xff08;1&#xff09;&#xff08;2&#xff09; 试题 2018年5月 一、单项选择题&#xff08;共 10 小题&#xff0c;每小题4分&#xff0c;共 40 分&#xff09; 那种调整方式可以对画…...

购物网站开发公司/黑马培训机构可靠吗

转载于:https://www.cnblogs.com/joshuali/archive/2009/08/31/4339130.html...