什么是API?

什么是API端点(API endpoint) API端点是API的入口,定义了客户端与服务端交互的方式。理解和设计好的API端点结构对于系统的可维护性、可扩展性和易用性非常重要。 阅读详情

什么是API?

是不是经常听见程序猿小哥哥A说:“这个简单,直接调用现成的接口就可实现。 一会儿程序猿小哥哥B说:“你这个不行,我们的第三方服务接口不支持。”

此时你的心里活动:API ≈ 听不懂 啥子是接口哦?接口能干啥呀?接口怎么用呀?我怎么去了解这个功能,接口到底能不能实现呀?莫慌,且看下文慢慢道来 API的全名是Application Programming Interface,又叫做“接口”。

如果你的产品是微信小程序,程序员就会说“咋们得好好看看微信开发接口文档”,“这里需要调用微信登录的api呀”,“哦,你这个功能的设计,微信的api不支持哟”。。。不懂技术的产品经理马上就一头雾水。

什么是api?

简单的说,api就是某个系统提供的带有约定说明的接口。通过调用api可以获取这个系统提供的服务,服务是什么?怎么调用?能获取什么?都在api的约定说明里面(术语称为‘接口规范’) 例如,我们可以调用百度的翻译接口将中文翻译为英文,可以调用微信的登录接口让用户通过微信登录到我们的系统中。 你可能已经get到了几个要点:

1 - 如果你的产品里面自带了翻译的算法,你就不用了解啥是api了。api常用于从其它系统获取服务。

2 - 如果你要让你的产品支持微信登录,因为微信不是你们家的,你必须了解微信的api

3 - api一定会提供详细的接口规范说明文档告诉你怎么使用这个接口,否则就用不了(例如下图就是微信某个接口的说明文档)

微信API说明文档示例

现实生活调用api的例子

下面是进阶,帮助你了解api的更多细节。为了让非技术的你能够理解技术世界的api,我必须得想一个较为类似的现实生活的例子,通过类比的方式快速理解。 现在全国各个街道社区都创办了便民图书馆,去便民图书馆借书就是一个很好的例子。我讲这个例子时带出一些api的专用术语,你就可以很快理解了。 你现在需要一本参考书,家里没有而且网上也买不到,却听朋友说这本书便民图书馆里有。于是你需要调用便民图书馆的【借书api】去获取这本书。(请注意是你有这个需要,而且这个需要你自己搞不定,所以才会去用便民图书馆提供的服务)

什么是api的url地址

你首先要找到最近的便民图书馆的位置,这就是api的访问地址。(所以每个api都有一个明确的url,也就是网络地址) 什么是api的接口规范 你到了图书馆,仔细看了门口的借书流程(这就是在阅读api接口规范)。

什么是api的参数

流程上说,你需要提供书的名字、作者、出版社、你的身份证、借多久,这就是调用借书api需要提供的参数。 什么是调用api 于是你走到服务台,向工作人员提供以上的信息,此时你就在“调用”api了。

什么是get调用方式

你可以向工作人员口述以上信息,此时你调用借书这个api的方式就是get方式。(get方式会将参数直接拼接在接口地址url的后面,从浏览器的地址栏就能一眼看出各个参数,是非常暴露的一种方式,犹如你向工作人员口述参数时旁边的人也能听到)

什么是post调用方式

你也可以填一张借书信息表,递交给工作人员,此时你调用借书这个api的方式就是post方式。(post方式会将参数放到http请求的body里面,浏览器地址栏是看不出参数的。因此填表的时候旁边有人也相对安全,偷窥除外)

什么是api的返回值

你传递了完整的参数成功调用了借书api,工作人员开始工作,她走进了库房,很快又出来,手里拿着你要的书,并且书上有一个标签纸写了还书的日期。她把这本书交给你,此时,你就拿到了api的返回值:【结果:借书成功;细节:【你要的书 + 还书的日期】 】 也可能,工作人员空着手出来了,但她给了你一张纸,上面写着另一个便民图书馆的地址、电话、工作时间。此时你也拿到了api的返回值:【结果:借书失败; 细节:【请到另一个图书馆取书,该图书馆的地址+电话+工作时间】】 于是,你会根据返回值的情况进行相应下一步的动作。 返回值有哪些情况,每种情况下都有哪些详细信息,都会在接口文档中说明。这个工作人员不是看见你帅就贴了一张还书日期的标签纸,这是图书馆的api接口规范!

只有一个api吗#API#

聪明的你马上会举一反三,图书馆提供的api肯定有 借书api、还书api、延期api、办理长期借书卡api。。。。。 这些都是图书馆提供的服务。每个服务都是api,都有api调用的地址(哪个窗口办理)、输入参数(你需要提供什么)、返回值(你将会得到几种可能的结果)。这些都会明确的写在api接口规范里。 所有这些api接口规范全部都张贴在一张巨大的墙上,这张墙就叫“开发平台手册”“开放平台开发指南”等等。其实就是各种api的详细说明。

什么是api调用的key和secret

图书馆发现仅凭身份证就能借书已经爆仓了。怎么办呢?借书卡!必须先办借书卡,每次凭卡号和密码进行借书。于是借书api的参数里面就多了借书卡的卡号和密码,卡号就是key,密码就是secret。 因此我们必须先调用图书馆的开卡api,获取属于自己的卡号key和密码secret,后面调用其它接口时提供自己的key和secret,图书馆的api就能提供服务。 没办卡就没有key和secret,就无法访问图书馆的接口。

现在几乎所有的api都会要求你先注册该系统的账号,生成自己的key和secret。例如你必须先注册百度开放平台的账号,才能调用百度翻译的api;必须先注册微信开放平台,才能调用微信的api。

微信开放平台把key叫做apppid,把secret叫做appsecret。 这种机制一方面是阻止不注册的人随意调用接口带来的服务器负荷,另一方面当然就是嘿嘿(你懂的)。

系统为什么要提供API接口?

你想过吗,系统为啥要提供这些API接口呢?百度为啥要提供翻译接口API,微信为啥要提供微信接口API。。。基本上你看到的大厂都有开发平台,都对外提供各种API接口。 腾讯,通过微信这个产品获取C端用户,也通过微信接口获取开发者用户,给其它产品赋能微信登录等功能的同时,也通过被赋能的产品在C端获得了品牌曝光度。相当于拓展了单一产品的市场。 不得不提到的是,接口调用也是会收费的哦,创造了新的收入方式。例如聚合数据这个网站,就是专门通过各种API接口赚钱的。

来看一个技术世界真实的API

现在来看一个技术世界真实的API。 https://fanyi.baidu.com/gettts?lan=en&text=hello&spd=1

现在你能看懂这个API了吗?

https://fanyi.baidu.com/gettts 就是 API的url地址,可以猜到这个API是百度提供的,用来得到翻译后的文本的语音!

?后面的都是访问这个API的参数

第一个参数 名字 叫做 lan,我们传入的 值 是 en,所以形成了 lan=en。

第二个参数 名字 叫做 text,我们传入的 值 是 hello,所以形成了 text=hello。

第三个参数 名字 叫做 spd,我们传入的 值 是 1,所以形成了 spd=1。

第一个参数告诉接口我们需要的是什么语言的语音(中文还是英文语音),第二个参数告诉接口需要什么文字的语音,第三个参数告诉接口需要什么语速的语音。 这个接口的访问方式是get方式,因为参数都在链接里面。因此你可以直接把这个链接放到浏览器里面试试结果。你会马上得到一个语音文件,就是hello的英文语音。

因此,如果你的产品里面需要朗读英文单词,你自己不可能有所有单词的朗读语音嘛,怎么办呢?就可以通过API,用百度的这个接口服务,通过这个接口获得英文单词对应的语音文件然后播放就可以啦!

总结

总结一下,API是获得另外一个系统提供的服务,API有明确的url地址,参数约定,返回值说明,总称为接口规范。根据接口规范,调用API,就可以获取这个系统提供的这个服务啦!

对API的认识,API的分类:操作系统API 编程语言API 软件开发API API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。 ... 阅读详情

相关推荐

Amazon API丨Alibaba API丨Shopee API丨Lazada API

The Amazon API, Shopee API, Lazada API, and Alibaba API are all API interfaces provided by e-commerce platforms, allowing developers to interact with their respective e-commerce platforms for data exchange, achieving a series of development, management, an

An4480的博客 1494

获取IP地址信息的API合集

有时候开发时偶尔会需要前端传客户端的ip地址,往往都要自己写方法去实现,今天给大家分享一些。注意:不填IP地址串,默认获取当前IP信息归属详情。注意:不填IP地址串,默认获取当前IP信息归属详情。以下方法可以获取客户端外网ip。

qq_43762932的博客 4万+

API与API管理

什么是API API全称为应用程序编程接口,通俗来讲就是不需要访问程序的源代码,也不需要理解程序实现的方式,只需要通过访问相应接口的URL并填写需要获得的数据的参数名,来获取需要的参数信息。 一个接口可以是一个简单的应用程序,例如天气预报、快递查询、手机归属地查询等等,这些都可以是接口,并且可以直接填写参数取值。 API包含什么 每个API必须包含的参数: 1、API名称 2、API地址 3、API的请求方法:POST、GET、HEAD、OPTIONS等。 4、请求参数:请求头部、请求体(FROM-DAT

API 2069

各种在线api地址

J2SE1.7英文api地址: http://download.oracle.com/javase/7/docs/api/ J2SE1.6英文api地址:http://download.oracle.com/javase/6/docs/api/ J2SE1.5 英文api地址:http://download.oracle.com/javase/1.5.0/docs/api/ J2SE1.4 英...

heima201907的博客 6579

Composition API VS Options API

Composition API VS Options API

T_iAn_T的博客 1435

CDO批量处理nc文件:5分钟搞定CMIP6数据双线性插值(附完整代码)

本文详细介绍了如何使用CDO工具链中的`remapbil`命令,快速实现CMIP6数据的批量双线性插值处理。通过环境配置、核心操作步骤、高级优化技巧及典型报错解决方案,帮助科研人员高效处理大规模nc文件,显著提升气象数据处理效率。

weixin_29267307的博客 292

前端关于API接口的相关重点内容

关于API接口的要素与要点内容!

weixin_70747888的博客 2208

新疆地形数据下载:30米、12.5米、5米DEM地形数据

新疆是我国陆地面积最大的省级行政区,总面积达166万平方公里。新疆的地形也十分的复杂,新疆的地形呈山脉与盆地相间排列,盆地被高山环抱,,俗称“三山夹两盆”。三山指阿尔泰山、昆仑山、天山,两盆是指塔里木盆地和准噶尔盆地。 对精度要求不高的话,可以直接使用图新地球下载 新疆30米地形数据 大小:9.26GB 来自ASTER v3的新疆30米地形数据 30米地形数据下载 新疆12.5米地形数据 12.5米DEM数据由于精度比较高,一般不会用到全省的数据,通常用的是一个地区的,因此,可以单独分

LocaSpace的博客 3495

使用 API 和离线库查询 IP 地址方法详解

IP 地址是实现网络互通的条件之一,通过查询 IP 地址,可获取地理位置、时区、经纬度、运营商等信息,为金融、电商、广告、网安行业提供流量分析、网络安全等技术支持。因为 IP 数据云查询的数据维度多,定位精准,所以下面以它为例,教大家如何进行 IP 地址查询。互联网监管部门要求公开 IP 归属地,引起了很大热度,但作为平台或企业的开发者不能只凑个热闹,使用 IP 地址查询尤为重要。个人少量查询可选择在线查询,对企业或平台,需要大量的 IP 地址查询,建议使用 API 或离线库查询方式。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 2万+

uniapp 实现RFID识别的实战指南

本文提供了在uniapp中实现RFID识别的完整实战指南。核心在于通过Android系统广播机制,利用uni-app的plus对象调用原生接口,完成与RFID手持设备的“软硬件握手”。文章详细介绍了从环境准备、设备选型、核心代码实现到避坑优化的全流程,帮助开发者快速构建高效的RFID盘点或管理应用。

weixin_29161719的博客 405

FPGA—ZYNQ_BD Block Design学习(一)

1.第一步:打开Vivado软件,创建或打开一个工程。2.第二步:在Block Design中添加arm核心,并将其配置为IP核。3.第三步:配置arm核心的外设信息,如DDR接口、时钟频率、UART接口等。4.第四步:完成Block Design中的模块互联,生成PL端的比特流。 5.第五步:导出PS端的硬件信息,包括arm IP核的外设、速度、引脚和地址等信息。1创建bd 需要有ddr以及uart和时钟配置外设io口,这里就是zynq的管脚规定好的,根据原理图用哪个个勾选哪一个。 对外设uart的配

m0_58129662的博客 1028

路由地址和API地址有什么区别

定义:路由地址通常指的是路由器的IP地址,在网络中用于唯一标识路由器。用途:它允许网络管理员通过该地址访问路由器的管理界面,进行网络设置、配置、监控和管理等操作。

DngYT的博客 1357

YOLOv8+ByteTrack实战:5分钟搞定多目标跟踪(附鱼群检测调参秘籍)

本文详细介绍了如何利用YOLOv8和ByteTrack快速实现多目标跟踪,特别针对鱼群检测等复杂场景提供参数调优秘籍。通过环境配置、核心机制解析和专项调优技巧,开发者可在5分钟内搭建高效跟踪系统,适用于水产养殖、交通监控等实际应用。文章还包含工程落地方案和性能优化建议,帮助实现精准的鱼群计数与行为分析。

e1f2g的博客 1019

什么是API,API的概念

1.API的概念:AIP全称(Aplication Programming Interface),一般来说就是 软件组件之间信息交互的桥梁。 2.举个例子: 假如你有一个银行,客户想要来银行存钱需要进行以下步骤: ·拿着钱去银行 ·打开仓库的门把钱放进去 ·把这笔业务记到账本上 ·离开银行 显然这存在...

m0_52433668的博客 7万+

Abaqus边界条件设置避坑指南:为什么你的实体单元转动自由度总是不生效?

本文深入解析了Abaqus中实体单元转动自由度设置失效的根本原因。从力学原理与有限元节点自由度的本质区别出发,阐明了实体单元仅具有平动自由度,直接约束其转动自由度是无效操作。文章提供了对称边界条件的正确设置方法,并给出了使用耦合约束等高级方案来模拟真实抗转动约束的实战指南,帮助用户避免常见建模陷阱。

weixin_29290379的博客 621

Nvidia Driveos SDK/PDK介绍

NVIDIA DRIVEOS SDK/PDK介绍

u011803281的博客 2175

API – 什么是 API?

微服务是一种架构风格,它将应用程序构建为小型、独立且松散耦合的服务的集合。每个微服务都旨在执行特定的业务功能,并且可以通过轻量级协议(例如 HTTP 或消息系统)与其他微服务进行通信。微服务通常独立部署,并且可以水平扩展,从而实现更大的灵活性和弹性。只要它们遵守通用的通信协议,就可以使用不同的技术和编程语言来开发和部署它们。使用微服务架构的好处包括更快的开发和部署时间、改进的可扩展性、更好的故障隔离以及更轻松的维护和更新。然而,实现微服务架构还需要仔细的设计和管理,以确保服务之间正确的通信和协调。

Mtxxd的博客 4849

锂电池的充电和放电曲线解读

锂电池充放电曲线是反映其性能的关键指标。充电曲线分为恒流和恒压两阶段:恒流阶段电压快速上升,恒压阶段电流逐渐降低;放电曲线则呈现平台期和快速衰减期特征。这些曲线受温度、充放电倍率及材料体系(如三元锂或磷酸铁锂)显著影响。通过分析曲线特征,可优化电池管理系统,实现精准的SOC估算、快充策略制定及故障诊断,从而在电池性能与安全性间取得平衡。不同应用场景(如新能源汽车或消费电子)对曲线形态有特定要求。

start_up_go的博客 5067

什么是REST API以及REST API的使用

API的分类 REST API(restful) REST是Representational State Transfer(表现层状态转移)的缩写,它是由罗伊·菲尔丁(Roy Fielding)提出的 非 REST API(restless) REST API 发送请求进行 CRUD 哪个操作由请求方式来决定 同一个请求路径可以进行多个操作 请求方式会用到 GET/POST/PUT/DELETE 非 REST API 请求方式不决定请求的 CRUD 操作 一个请求路径只对应一个操作 一般只

youhebuke225的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

API是什么

API是“应用程序编程接口”(Application Programming Interface)的缩写,它是一套规则、协议和工具,用于构建软件应用。API定义了不同软件组件之间如何交互,允许开发者更容易地使用某些功能,而无需了解其内部实现细节。通过使用API,开发者可以高效地复用代码、接入外部服务、构建复杂功能,同时保持代码的模块化和可维护性。

zzzlearning的博客 5043

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

体育数据api接口,足球api篮球api电竞api,比赛赛事数据api

ws.on('open', function open() { console.log('连接已建立');ws.on('message', function incoming(data) { console.log('实时数据:', data);

marzdata的博客 2426

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

AngularJS 的 API:模块 API、指令 API、服务 API、过滤器 API、路由 API

本文系统介绍了AngularJS的核心API功能,包括模块管理、指令扩展、服务调用、数据过滤和路由配置等关键内容。详细讲解了如何通过angular.module创建模块、使用directive定义指令、利用$http等服务进行网络请求、应用过滤器处理数据格式,以及配置$routeProvider实现单页应用路由。文章还提供了常用内置指令和过滤器的应用示例,帮助开发者全面掌握AngularJS的各项功能特性,为构建复杂前端应用提供技术参考。

小二丶的博客 1409

API是什么,如何保障API安全

在流量分析中,还能发现影子/僵尸 API(即未知的 API)、弱API、无效API等,监测每一个API安全情况,形成业务API、应用级API、全局API三大维度的API画像,帮助企业多维度、多视角地摸清、梳理出企业API资产与实时状况。安全策略无法保证100%准确,全站防护具备自适应能力,利用大数据分析技术,在网站接入后自动分析业务流量进行策略适配,并持续、自动地分析所有业务中可能存在的安全触发因素,包括误漏报,以提供适配业务场景的安全策略建议,尽可能减少用户操作阻碍,降低安全管理开销。

HoewDec的博客 2428

深入分析Vue 3中Composition API与Options API的优缺点,什么时候该用Composition API,什么时候该用Options API。

Vue 3 在设计时加入了一个全新的 API——Composition API,与 Vue 2 中的 Options API 并行使用。Vue 3 的 Composition API 提供了更灵活的方式来组织和复用组件逻辑,但它并不是完全替代 Options API。每种 API 有其独特的优势和适用场景,开发者可以根据不同的需求选择最合适的方式。在 Vue 2.x 中,开发者使用 Options API 来构建组件。datamethodscomputedwatchprops等)。

程序员林北北的博客 1669

Docker API(Registry API、Docker Hub API、Docker Remote API)

一、Docker API简介 在Docker生态系统中一共有3种API: Registry API:提供了与来存储Docker镜像的Docker Registry继承的功能 Docker Hub API:提供了与Docker Hub继承的功能 Docker Remote API:提供与Docker守护进程集成的功能 这3种API都是RESTful风格的 本文我们主要介绍Remote API,因为它是通过程序与Docker进行继承和交互的核心内容 二、初识Remote API Remo

董哥的黑板报 5128
上一篇: 第一章:用户标签体系与用户画像
下一篇: JS学习日记
Single_minde
博客等级 码龄7年 441粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值