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

news2024/12/29 9:41:29

我们经常听到 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.coloradmin.cn/o/1271493.html

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

相关文章

47、Flink 的指标报告介绍(graphite、influxdb、prometheus、statsd和datalog)及示例(jmx和slf4j示例)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

C/C++ Zlib库封装MyZip压缩类

Zlib是一个开源的数据压缩库,提供了一种通用的数据压缩和解压缩算法。它最初由Jean-Loup Gailly和Mark Adler开发,旨在成为一个高效、轻量级的压缩库,其被广泛应用于许多领域,包括网络通信、文件压缩、数据库系统等。其压缩算法是…

《如何戒掉坏习惯》精华摘抄

“劣质货币会驱逐优良货币。”这就是格雷沙姆法则(劣币驱逐良币 法则)。它是指一旦对劣质货币(假币)的流通放任不管,人们就不会 去使用优良货币(真正的货币),从而导致优良货币从市场…

深入探索Maven:优雅构建Java项目的新方式(二)

Meven高级 1,属性1.1 属性1.1.1 问题分析1.1.2 解决步骤步骤1:父工程中定义属性步骤2:修改依赖的version 1.2 配置文件加载属性步骤1:父工程定义属性步骤2:jdbc.properties文件中引用属性步骤3:设置maven过滤文件范围步骤4:测试是否生效 1.3 版本管理 2,…

todesk连接ubuntu显示当前系统并无桌面环境,或无显示器,无法显示远程桌面,您需要自行安装X11桌面环境,或者使用终端文件功能

ToDesk远程遇到的问题如上图,换向日葵直接黑屏; 问题原因 截止发文时间,Todesk只支持X11协议,没有适配最新的Wayland协议,所以我们需要把窗口系统调整为X11才可以。 解决方法 修改配置文件,关闭wayland su…

Hadoop入门学习笔记

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 这里写目录标题 一、VMware准备Linux虚拟机1.1. VMware安装Linux虚拟机1.1.1. 修改虚拟机子网IP和网关1.1.2. 安装…

AI PC专题:AI PC深入变革PC产业

今天分享的是AI系列深度研究报告:《AI PC专题:AI PC深入变革PC产业》。 (报告出品方:西南证券研究发展中心) 报告共计:30页 AI PC将深入变革PC产业  从出货量看,PC整体呈现周期性的特征。2…

智慧灯杆网关:引领城市智慧照明的未来

智慧灯杆网关,作为城市智慧照明系统的核心组件,正逐渐成为各大城市发展的关键所在。它的出现使得城市照明管理更加智能、高效,为未来城市的可持续发展奠定了坚实的基础。 智慧灯杆网关是一种集网络通信、数据处理、远程控制等功能于一体的设备…

系统部署安装-Centos7-Cassandra

文章目录 介绍安装在线下载安装启动普通启动注册服务 介绍 Apache Cassandra是一个高度可扩展的高性能分布式数据库,旨在处理许多商用服务器上的大量数据,提供高可用性而没有单点故障。 安装 在线下载 (1)使用weget下载最新的…

火锅店管理系统扫码点餐小程序作用如何

火锅店在餐饮行业中占据了很高地位,受众非常广,当然火热的赛道自然少不了众多品牌竞争,由于火锅店有一定成本支出,所以商家更希望能加大生意营收,而强到店属性下,如何将客户饮料进店和赋能客户消费就变得很…

天眼销:精准的企业名录

企业名录的重要性,对于销售而言都是极其重要的。本期为家人们分享如何正确挑选出优质的企业名录渠道,避免走一些弯弯坑坑。 为了有效利用企业名录进行客户开发,您需要关注信息的准确性、可提供的资源数量以及信息的时效性。能否根据您的需求…

封装进度条onUploadProgress+axios取消请求的上传组件

目录 定时模拟进度条 方法 A.axios B.xhr 取消请求 完整代码 A.自定义上传组件 B.二次封装组件 情况 增加cancelToken不生效,刷新页面 进度条太快->设置浏览器网速 定时模拟进度条 startUpload() {if (!this.file) return;const totalSize this.fil…

土壤养分分析仪:精准农业,从“土”开始

在农业生产中,土壤的质量是决定农作物产量和品质的关键因素。然而,传统的土壤检测方法耗时费力,且结果往往不够准确。随着科技的发展,土壤养分分析仪为现代农业带来了新的可能。 土壤养分分析仪是一种专门用于测量土壤中各种养分含…

Flutter应用程序加固的问题及解决方案

​🚀Flutter应用程序加固的问题及解决方案引言在移动应用开发中,为了保护应用程序的安全性,开发者需要对应用进行加固。在使用Flutter技术进行应用程序开发时,也需要注意应用程序的安全问题和加固方案。本文将介绍在Flutter应用程…

码云配置遇到秘钥不正确

你这个就是秘钥没有和git绑定, 需要 git config --global user.name "你的用户名随便写" git config --global user.email "你的邮箱"

老师怎么培养班干部

老师除了教学之外,班级管理也是一项重要的任务。而培养班干部则是班级管理中不可或缺的一部分。今天为大家分享一些关于如何培养班干部的干货。 明确职责,制定班规 在选拔班干部之后,首先需要明确各个职位的职责,让每位班干部都清…

22款奔驰GLS450升级HUD抬头显示 平视仪表信息

说起HUD抬头显示这个配置,最初是用在战斗机上的,它可以让战斗机驾驶员读取飞机的各种信息和状态,而无需移动头部,这样就能够有效的提高效率。但随着汽车技术的进步HUD这种配置也逐渐下放到民用车上。发展到今,车上的抬…

一文讲透Python函数中的局部变量和全局变量

变量的作用域就是变量能够发挥作用的区域,超出既定区域后就无法发挥作用。根据变量的作用域可以将变量分为局部变量和全局变量。 1.局部变量 局部变量是在函数内部定义并使用的变量,也就是说只有在函数内部,在函数运行时才会有效&#xff0…

Docker安装可视化工具Portainer

目录 Portainer简介 Portainer安装 Portainer简介 Portainer是一款开源的容器管理平台,支持多种容器技术,如Docker、Kubernetes和Swarm等。它提供了一个易于使用的Web UI界面,可用于管理和监控容器和集群。Portainer旨在使容器管理更加简单…

sqli-labs靶场详解(less38-less45)

堆叠注入 ​ less-38 less-38 ?id1 and 11;%00 成功 ?id1 and 12;%00 失败 不是吧 这就出来了? ?id1 order by 4;%00 报错 4列不行 ?id0 union select 1,2,3;%00 显示位置为2,3 ?id0 union select 1,database(),3;%00 数据库为security ?id0 union select 1,…