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

news2024/11/28 2:41:16

一起走进多样的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.coloradmin.cn/o/1096663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

因为不写注释引发的惨案

程序员对代码注释可以说是又爱又恨又双标……你是怎么看待程序员不写注释这一事件的呢? 一、一个关于注释的故事 2022年吧,我在写代码的时候,因为太懒惰了,没有写注释。结果,过了几个月我再来看的时候,完…

从零开始学习 Java:简单易懂的入门指南之线程池(三十六)

线程池 1.1 线程状态介绍1.2 线程池-基本原理1.3 线程池-Executors默认线程池1.4 线程池-Executors创建指定上限的线程池1.5 线程池-ThreadPoolExecutor1.6 线程池-参数详解1.7 线程池-非默认任务拒绝策略 1.1 线程状态介绍 当线程被创建并启动以后,它既不是一启动…

WLAN 无线案例(华为AC控制器配置模板)

实验说明: 无线用户VLAN 30 192.168.30.0/24 AP和AC用VLAN 20 192.168.20.0/24 有线网段 VLAN 10 192.168.10.0/24 步骤一:全网互通 sw1: sysname sw1 # vlan batch 10 20 30 # dhcp enable # ip pool 20 gateway-list 192.168.20.1…

【RocketMQ 系列三】RocketMQ集群搭建(2m-2s-sync)

您好,我是码农飞哥(wei158556),感谢您阅读本文,欢迎一键三连哦。 💪🏻 1. Python基础专栏,基础知识一网打尽,9.9元买不了吃亏,买不了上当。 Python从入门到精…

Python 脚本中的 FFmpeg

FFmpeg 是快进运动图像专家组的缩写。 它是一个开源项目,提供了ffmpeg、ffplay、ffprobe等工具来处理多媒体文件。 FFmpeg 是一个命令行实用程序,可帮助转换视频/音频格式、压缩视频、从视频中提取音频、创建 GIF、剪切视频等。 本篇文章将介绍在Pytho…

数据库中了mkp勒索病毒,mkp勒索病毒解密,数据恢复

最近一段时间网络上的mkp勒索病毒比较猖獗,给企业的服务器数据库带来了严重影响。通过这一波的mkp勒索病毒攻击,云天数据恢复中心的工程师发现,大部分被攻击的企业,主要是因为网络安全意识不高,服务器安全防护没有做到…

基于STM32的森林火灾监控系统设计

一、设计简述 基于STM32设计的森林火灾监控系统(OneNet) 1.1 项目背景 近年来,随着全球气候变暖和人类活动的不断增加,森林火灾成为全球性的重大灾害之一。据统计,每年全球因森林火灾造成的经济损失高达数十亿美元,严重威胁着生态环境和人民生命财产安全。如何及时预警和响…

2023 年 42 周

2023 年 42 周 说句题外话,上次写这玩意儿居然都是两年前的事情了……这次换个方式计算,直接用周数来 学习 📑 进度 本周其实进度有那么点乱,学了一些 JPA/Hibernate 的内容,LC 刷题进度也拖慢了一些,基本…

会声会影2023中文旗舰版crack 2023注册机百度网盘下载

会声会影2023中文旗舰版功能非常强大的视频编辑软件,非常专业的使用效果,会声会影2023中文版可以针对剪辑电影进行使用,非常强大的色彩校正方式,无论什么光线下进行拍摄,都可以通过后期进行调整,并且里面超…

论文速递 | 8月下旬9月上旬Operations ResearchManagement Science文章精选

编者按 本期我们选取了8月下旬及9月上旬Operations Research文章2篇,Management Science文章4篇期刊文章,着眼于各种不同场景下对于风险的预测、量化及管理,通过聚焦于风险这一主题,体系化地形成文章精选。 文章1 Computation of…

【云计算网络安全】DDoS 攻击类型:什么是 ACK 洪水 DDoS 攻击

文章目录 一、什么是 ACK 洪水 DDoS 攻击?二、什么是数据包?三、什么是 ACK 数据包?四、ACK 洪水攻击如何工作?五、SYN ACK 洪水攻击如何工作?六、文末送书《AWD特训营》内容简介读者对象 一、什么是 ACK 洪水 DDoS 攻…

【UE5 虚幻引擎】新建C++类:类的类型 命名 类的目标模块

目录 0 引言1 新建C类2 类前的宏 🙋‍♂️ 作者:海码007📜 专栏:UE虚幻引擎专栏💥 标题:【UE5 虚幻引擎】新建C类:类的类型 命名 类的目标模块❣️ 寄语:加油,一次专注一…

游戏设计模式专栏(十):在Cocos游戏开发中运用外观模式

点击上方亿元程序员关注和★星标 引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。 外观模式(F…

C#,数值计算——数据建模State的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { public class State { public double lam1 { get; set; } public double lam2 { get; set; } public double tc { get; set; } public int k1 { get; set; } public…

系统对接-验签机制

一、消息摘要算法 1、消息摘要算法特点 消息摘要算法加密过程不需要密钥,加密的数据无法解密。 只有输入相同的明文并且使用相同的摘要算法才能得到相同的结果。 2、MD5算法 压缩性:任意长度的数据MD5值都是固定128位(32个16进制数值串&a…

CUDA initialization: The NVIDIA driver on your system is too old解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

基于大模型(LLM)的Agent 应用开发

目前,业界一般认为基于大模型的应用集中在两个方向上:RAG 和 Agent,无论哪一种应用,设计、实现和优化能够充分利用大模型(LLM)潜力的应用都需要大量的努力和专业知识。随着开发人员开始创建日益复杂的LLM应用程序,开发…

Mock入门之概念理解

当我们讨论软件测试,特别是单元测试时,经常会遇到“mock”和“Mockito”。让我们先了解“mock”,然后详细探讨“Mockito”。 Mock概述 定义: 在软件测试中,mock是一个模拟真实对象的虚假对象,它模拟了真实对象的行为。…

在Google cloud上创建VM虚拟机

登录GCP console,确保Compute Enginee API 已经被eanbled 在左边菜单栏,选择第一个item - VM instance 如果见到上面页面, 则代表compute enginee的API 已经被enabled, 否则要先enable Compute enginee的API. 后者从APIs &…

【Eclipse】取消按空格自动补全,以及出现没有src的解决办法

【Eclipse】设置自动提示 教程 根据上方链接,我们已经知道如何设置Eclipse的自动补全功能了,但是有时候敲变量名的时候按空格,本意是操作习惯,不需要自动补全,但是它却给我们自动补全了,这就造成了困扰&…