什么是API? (应用程序编程接口)

我们经常听到 API 这个专业名称。那么什么是 API 呢?

定义

API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。

在互联网时代,API 常常以 URL 的形式提供给开发者。URL 的 路径(英文称作path)部分就是函数,而函数的参数就等同于 URL 的参数(英文称作paramter或简称param)。

下图是 URL 格式参考图:

小结

我们常说的 API 有两种:

  1. 调用别的代码接口;

  2. 调用一个 URL(需要发 HTTP 请求)。

这两种都是 API ,在网络编程的场景下,API 经常指的是第二种。无论哪一种,简言之,都是触发一个功能,取得相应的结果。

案例

对于第二种,调用一个 URL 形式的 API ,最常见的场景是需要取得数据,API 把数据以某种格式进行包装后返回给调用者。

例如,我们常常在网站上看到天气信息:

网站上调用天气的数据 API (会在 URL 参数中指定城市),取得天气数据后,显示在网站上。网站不需要知道天气数据是如何获取的(涉及到复杂的气象观测、气象数据运算),拿到数据后,可以灵活把天气信息显示在任意的位置,这是由网站自己决定的。

由此可见,API 只是提供纯粹的数据(7゜c),并不包含与展示相关的字体颜色、字体大小、位置等信息。而网站作为调用者,只需要关心如何展示更漂亮,而不需要关心具体的数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/203550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信号收尾.

sigaction 信号捕捉 它也是信号捕捉,不仅能处理普通信号还能处理实时信号,但我们不管实时信号 我们发现函数名和形参中结构体名一样都是sigaction,这在c/c中允许吗? 不建议,但是可以 signo你要捕捉几号信号 输入型参…

《一带繁花一路歌》趣味化讲述“一带一路”故事,生动化展现“文明互鉴”美好图景

2023年,总台《艺览天下》推出“一带一路”10期特别节目《一带繁花一路歌》,节目邀请“一带一路”沿线国家驻华大使等重量级嘉宾,在地标推介、故事分享、现场互动等环节里趣味化讲述“一带一路”故事,生动地展现出“文明互鉴”的美…

互联网上门家政小程序服务小程序

过去,家政门店主要依靠传统地推方式,如贴广告、发传单、亲友推荐等,被动地等待客户上门。这种方式使得拓展客户的效率低下,而且家政服务市场还存在一些问题,如市场竞争混乱、供需不平衡、员工素质参差不齐等&#xff0…

【elementUI】el-tab相关问题

Tabs 标签页 分隔内容上有关联但属于不同类别的数据集合。 <template><el-tabs v-model"activeName" tab-click"handleClick"><el-tab-pane label"用户管理" name"first">用户管理</el-tab-pane><el-tab-p…

uniapp和vue3+ts实现自定义头部导航栏左侧胶囊内容

由于某些原因&#xff0c;可能需要我们自己定义头部导航栏的内容&#xff0c;实现各种设计师画的设计稿&#xff0c;所以就需要这个自定义的组件&#xff0c;实现的内容&#xff1a;自定义标题和左侧胶囊图标内容&#xff0c;也可以自定义搜索内容到里面&#xff0c;实现的效果…

软件测试jmeter基本使用

1安装与配置 1.jdk下载 下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/#jdk18-windows&#xff08;压缩包中会给&#xff09; 2.jmeter下载 Apache JMeter - Download Apache JMeter&#xff08;压缩包中有&#xff09; 3.操作教学 打开软件后新…

学生用台灯哪个品牌比较好?2023考研护眼台灯推荐

随着科技时代的到来&#xff0c;人们的生活水平不断提高&#xff0c;也面临着许多问题&#xff0c;近期随着央视报道的全国中小学学生的近视率&#xff0c;护眼台灯再次被众人推上热潮&#xff0c;护眼台灯能够提供柔和自然的光感非常舒适&#xff0c;而且使用起来非常便捷。不…

JavaScript值和引用

前端面试大全JavaScript值和引用 &#x1f31f;经典真题 &#x1f31f;值和引用相关内容 1. 简单值&#xff08;原始值&#xff09; 2. 复杂值&#xff08;引用值&#xff09; 3. 访问方式 4. 比较方式 5. 动态属性 6. 变量赋值 &#x1f31f;真题解答 &#x1f31f;…

v-for和v-if同时使用时的问题:

当在同一个标签上同时使用 v-for 和 v-if 时&#xff0c;可能会导致意外的结果或错误。这是因为Vue的编译规则中&#xff0c;v-for 比 v-if 优先级更高&#xff0c;意味着 v-for 会先执行&#xff0c;然后 v-if 根据条件进行渲染或移除子元素。 在某些情况下&#xff0c;使用 …

ardupilot开发 --- 机载计算机 篇

0. 前言 关于机载计算机&#xff1b; 1. APSync 说到机载计算机Companion computer就不得不提另一个关键词APSync&#xff1b;APSync简化了机载计算机的设置&#xff0c;以便它可以为ArduPilot提供额外的功能&#xff0c;并简化与互联网服务的集成&#xff1b;提供日志下载和…

Linux:docker镜像的创建(5)

1.基于已有镜像创建 步骤&#xff1a; 1.将原始镜像加入容器并运行 2.在原始镜像中部署各种服务 3.退出容器 4.使用下面命令将容器生成新的镜像 现在我们在这个容器里做了一些配置&#xff0c;我们要把他做成自己镜像 docker commit -m "centos7_123" -a "tarr…

基于matlab的图像去噪算法设计与实现

摘 要 随着我们生活水平的提高&#xff0c;科技产品飞速更新换代&#xff0c;在信息传输中&#xff0c;图像传输所占的比重越来越大。但自然噪声会在图像传输时干扰其传输过程&#xff0c;甚至会使图片不能表达其原来的意义。去噪处理就是为了去除图像中的噪声&#xff0c;从而…

[英语学习][4][Word Power Made Easy]的精读与翻译优化

[序言] 今日继续阅读两段原版翻译, 有一点点生硬, 还是耐不住寂寞, 去优化了. [英文学习的目标] 提升自身的英语水平, 对日后编程技能的提升有很大帮助. 希望大家这次能学到东西, 同时加入我的社区讨论与交流英语相关的内容. [原著英文与翻译版对照][第18页] "And suerl…

【端到端可微1】端到端的训练,使用反向传播,要求过程可微分

文章目录 背景想法&#xff1a; Weighted least-squares fitting方法&#xff1a; Backpropagating through the fitting procedure.温习之前的基础前向传播反向传播 总结 背景 想做一个端到端训练的模型&#xff0c;将最小二乘嵌入其中。因此有了这系列文章。 想法&#xff…

fiddler抓包安卓

一、打断点 1、安卓手机和电脑在同一局域网下&#xff0c;手机连接的网络开启手动代理&#xff0c;ip填写电脑ip&#xff0c;端口填写fiddler中配置的端口。 ip查看&#xff1a; 端口配置&#xff1a;tools-options-connections 2、安装证书&#xff0c;手机浏览器输入电脑ip…

Java-MyBatis

1.基础 1.1 pom <dependencies><!--MyBatis核心--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency><!--MySql驱动--><dependency&…

11.29 C++ 作业

自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <io…

linux拨号服务器如何创建爬虫ip池

作为一个爬虫技术员&#xff0c;除了要熟练掌握至少一种编程语言外&#xff0c;还应该创建属于自己的爬虫ip池。我们都知道&#xff0c;在进行爬虫采集时&#xff0c;经常会遇到网站各种发爬机制&#xff0c;如果有自己的ip池&#xff0c;将会让爬虫这项枯燥无味的工作变得非常…

从物理机到K8S:应用系统部署方式的演进及其影响

公众号「架构成长指南」&#xff0c;专注于生产实践、云原生、分布式系统、大数据技术分享。 概述 随着科技的进步&#xff0c;软件系统的部署架构也在不断演进&#xff0c;从以前传统的物理机到虚拟机、Docker和Kubernetes&#xff0c;我们经历了一系列变化。 这些技术的引入…

手机笔记工具怎么加密?

选择用手机笔记工具记事&#xff0c;大家可以记录很多学习笔记、读书笔记、私密日记等&#xff0c;手机作为随身携带的设备&#xff0c;记录相关的笔记比较快捷且方便&#xff0c;当手机笔记中记录的内容比较私密时&#xff0c;大家担心手机笔记会被别人误看&#xff0c;这时候…