什么是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),并不包含与展示相关的字体颜色、字体大小、位置等信息。而网站作为调用者,只需要关心如何展示更漂亮,而不需要关心具体的数据。

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

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

相关文章

【电路笔记】-分流器

分流器 文章目录 分流器1、概述2、通用/网络配置3、无功分流器3.1 电阻电容分流器3.2 电阻-电感分流器 4、总结 我们在之前关于分压器的文中已经看到,分压过程是通过在串联配置中关联相同的组件来实现的。 在本文中,我们将重点关注电流分频器执行的电流分…

MongoDB导入导出命令

(1)mongoexport命令 例如: mongoexport --db testdb --collection person --out person.json mongoexport --db testdb --collection person --fields name,age --out person.json mongoexport --db testdb --collection person --query {&qu…

Arkts@Watch装饰器与内置组件双向同步深度讲解与实战应用【鸿蒙专栏-14】

文章目录 ArkTS 状态管理深度解析:@Watch 和 $$ 运算符的妙用@Watch 装饰器:状态变量的敏感监听装饰器说明语法说明观察变化和行为表现限制条件使用场景$$ 运算符:内置组件状态的双向同步使用规则使用示例ArkTS 深度探索:@Watch 装饰器与 $$ 运算符的进阶应用进阶应用:@Wa…

四个方法,设置excel文件只读模式

由于excel文件经常用于数据文件,数据就需要特别保护,大家可能需要将文件设置为只读模式来保护数据不被修改,Excel文件想要设置为只读的方法有很多,今天分享四种方法给大家: 方法一:文件属性 右键点击文件…

浅谈交流电表在印度充电桩生产厂家的应用

一.背景: 近几年为应对温室气体的排放导致的全球变暖、气候变化等问题,各大国纷纷对焦推进电动汽车,从而减少传统燃油汽车带来的大量温室气体排放。而推进新能源汽车的各项举措之中,充电桩的基础建设,又是其中的重中之重&#xf…

开源播放器GSYVideoPlayer + ViewPager2 源码解析

开源播放器GSYVideoPlayer ViewPager2 源码解析 前言一、GSYVideoPlayer🔥🔥🔥是什么?二、源码解析1.ViewPager2Activity 总结 前言 本文介绍GSYVideoPlayer源码中关于ViewPager2 GSYVideoPlayer 实现的滑动播放列表的实现原理。…

VMD-Attention-LSTM 价格预测实战

VMD-Attention-LSTM时间序列价格预测实战 完整数据代码可直接运行_哔哩哔哩_bilibili 数据展示:数据有几万条 足够的 主要模型代码: import tensorflow as tfdef attention_3d_block(inputs,TIME_STEPS,SINGLE_ATTENTION_VECTOR):# inputs.shape = (batch_size, time_steps,…

C#队列(Queue)及泛型类(Queue<T>)

队列实现先进先出,有装箱拆箱行为,可存放任意类型,但无法获取指定位置元素,只能取出最先存储的元素。 一、基本队列操作 1、向队列添加元素(Enqueue) Queue queue new Queue(); queue.Enqueue(1); queue.…

升级openssh以及回滚,telnet远程链接

目录 安装telnet 编译安装openssl 解压并编译安装OpenSSH 修改配置允许root用户远程登录 测试没问题后开启防火墙关闭telnet 回滚办法(如果没有备份的话) 安装telnet 为了防止升级安装失败,无法使用ssh做远程连接,因此安装…

区间合并笔记

文章目录 什么是区间合并怎么做区间合并AcWing 803. 区间合并思路解析my - CODEdalao の CODE 什么是区间合并 区间合并是指给定多个区间,让你将重合的区间合并为一个区间 怎么做区间合并 区间合并类问题大多三个办法: 按左端点排序按右端点排序按左右…

企业微信ipad版,http协议接口发开,获取客户群列表

版本介绍: HTTP协议接口可以通过该接口实现企业微信的各种功能,使用HTTP协议可以避免使用hook形式的需要开启PC客户端的方式,同时可以实现三端同时在线,不影响PC和手机端的登录状态,调用简单,可以支持几千…

Apache Doris 整合 FLINK CDC 、Paimon 构建实时湖仓一体的联邦查询入门

1.概览 多源数据目录(Multi-Catalog)功能,旨在能够更方便对接外部数据目录,以增强Doris的数据湖分析和联邦数据查询能力。 在之前的 Doris 版本中,用户数据只有两个层级:Database 和 Table。当我们需要连…

一键删除方舟编译器缓存文件js、js.map插件ArkCompilerSupport

新手学习鸿蒙开发,发现DevEco Studio编译过种会生成js、js.map,在论坛上看了其它开发者也提了问题但无没解决,写了一个插件大家试下: https://plugins.jetbrains.com/plugin/23192-arkcompilersupport 源码:https://g…

js 如何实现转驼峰处理

目录 1,需求2,实现和原理3,原理1,正则2,替换函数 1,需求 在开发中,有时需要将中划线 -,下划线 _,冒号 : 这些连接符转为驼峰形式。 如果只有一个连接符,处理…

深度学习——Loss汇总

深度学习——Loss汇总 一、IOU Loss二、L1 Loss 一、IOU Loss 公式: 参考资料: 目标检测回归损失函数——IOU、GIOU、DIOU、CIOU、EIOU 二、L1 Loss 公式: 参考资料: PyTorch中的损失函数–L1Loss /L2Loss/SmoothL1Loss

Day72x.算法训练

739. 每日温度 class Solution {public int[] dailyTemperatures(int[] temperatures) {LinkedList<Integer> st new LinkedList<>();st.push(0);int[] res new int[temperatures.length];for (int i 1; i < temperatures.length; i) {while (!st.isEmpty()…

python机器学习——简单神经网络算法回归分析

利用python实现简单的神经网络算法回归分析 2023年亚太杯数学建模C题可以使用这个代码进行分析 import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from tensorflow.keras.mod…

智慧城市大脑,运维无忧!

运维管理软件在智慧城市中发挥着重要的作用&#xff0c;可以提升IT资源管理效率、保障城市运营安全稳定、实现数据可视化与智能分析、优化资源配置与决策支持、促进智慧城市可持续发展。 在智慧城市中&#xff0c;运维管理软件的应用场景非常广泛。以下是其中几个具体应用场景…

Linux 网络配置

Linux 网络配置 #学习目标 1&#xff0c;掌握Linux中网络配置相关的文件。 2&#xff0c;掌握Linux中网络配置的相关参数。 3&#xff0c;掌握常用的网络配置命令。 4&#xff0c;管理Linux的常用网络服务。Linux系统下配置网络有两种方式&#xff1a; 在安装Linux系统的过程…

高并发架构设计方法:面对高并发,怎么对症下药?

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 我们知道&#xff0c;“高并发”是现在系统架构设计的核心关键词。一个架构师如果设计、开发的系统不支持高并发&#xff0c;那简直不好意思跟同行讨论。但事实上&#xff0c;在架构设计领域&#xff0c;高并发的历史…