什么是api_什么是api接口举例 - CSDN
精华内容
参与话题
  • API是什么意思

    千次阅读 2019-05-29 16:33:31
    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又...Windows API是一套用来控制Windows的各个部件的外...

    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
      分类:
      Windows API:
      API函数包含在Windows系统目录下的动态连接库文件中。Windows API是一套用来控制Windows的各个部件的外观和行为的预先定义的Windows函数。用户的每个动作都会引发一个或几个函数的运行以告诉Windows发生了什么。这在某种程度上很像Windows的天然代码。而其他的语言只是提供一种能自动而且更容易的访问API的方法。当你点击窗体上的一个按钮时,Windows会发送一个消息给窗体,VB获取这个调用并经过分析后生成一个特定事件。
      更易理解来说:Windows系统除了协调应用程序的执行、内存的分配、系统资源的管理外,同时他也是一个很大的服务中心。调用这个服务中心的各种服务(每一种服务就是一个函数)可以帮助应用程序达到开启视窗、描绘图形和使用周边设备等目的,由于这些函数服务的对象是应用程序,所以称之为Application Programming Interface,简称API 函数。WIN32 API也就是MicrosoftWindows 32位平台的应用程序编程接口。
      凡是在 Windows工作环境底下执行的应用程序,都可以调用Windows API。
      linux API:
      在linux中,用户编程接口API遵循了UNIX中最流行的应用编程界面标准—POSIX标准。POSIX标准是由IEEE和ISO/IEC共同开发的标准系统。该标准基于当时现有的UNIX实践和经验,描述了操作系统的系统调用编程接口API,用于保证应用程序可以在源程序一级上在多种操作系统上移植运行。这些系统调用编程接口主要是通过C库(LIBC)来实现的。
      开始试调接口

    展开全文
  • 什么API?(看完你就理解了)

    万次阅读 多人点赞 2019-02-27 17:04:14
    阅读编程资料时经常会看到API这个名词,网上各种高大上的解释估计放倒了一批初学者。初学者看到下面这一段话可能就有点头痛了。 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数...

    阅读编程资料时经常会看到API这个名词,网上各种高大上的解释估计放倒了一批初学者。初学者看到下面这一段话可能就有点头痛了。

    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。——百度百科

    这篇文章我们就来通俗易懂地解释下什么叫做 API,你只需要花费1分钟时间。

    从文件操作开始谈API。

    以C语言为例,我们使用fopen()函数可以打开一个文件,感觉非常简单。文件保存在硬盘上,要经过复杂的处理才能显示,这些细节对我们来说是透明的,由操作系统完成。也就是说,我们调用fopen()函数来通知操作系统,让操作系统打开一个文件。

    那么,我们如何告诉操作系统打开文件呢?

    看似简单的操作到底层都非常复杂,打开文件首先要扫描硬盘,找到文件的位置,然后从文件中读取一部分数据,将数据放进I/O缓冲区,放进内存;这些数据都是0、1序列,还要对照ASCII表或Unicode表”翻译“成字符,再在显示器上显示出来。这个过程如果要让程序员来完成,那简直是噩梦!

    怎么办呢?操作系统想了一个很好的办法,它预先把这些复杂的操作写在一个函数里面,编译成一个组件(一般是动态链接库),随操作系统一起发布,并配上说明文档,程序员只需要简单地调用这些函数就可以完成复杂的工作,让编程变得简单有趣。这些封装好的函数,就叫做API(Application Programming Interface),即应用程序编程接口。

    说得更加通俗易懂一些,别人写好的代码,或者编译好的程序,提供给你使用,就叫做API。你使用了别人代码(或者程序)中的某个函数、类、对象,就叫做使用了某个API

    操作系统 API。

     操作系统已经为我们实现了很多功能,它们都被封装成了一个一个的函数,有成百上千个之多,这些函数就叫做 API。程序员要想使用某个功能,只需要调用相应的函数。Windows、Linux、Mac OS、Unix 这些常见的操作系统大部分功能都使用C语言开发,它们的 API 也以C语言的形式呈现。操作系统 API 数目众多,官方必须提供详细的说明文档(Windows API 的说明文档叫 MSDN),程序员在使用 API 时,需要频繁地查阅这些文档。

    Windows API控件与消息函数 ,如:

                     1.AdjustWindowRect 给定一种窗口样式,计算获得目标客户区矩形所需的窗口大小。

                     2.AnyPopup 判断屏幕上是否存在任何弹出式窗口。

                     3.ArrangeIconicWindows 排列一个父窗口的最小化子窗口。

    编程语言 API。

    各种编程语言自带的标准库其实也是API。这些API由编程语言的开发者们编写,安全、高效、健壮,为我们实现了常见的功能,让我们不用再重复造轮子。

    C语言 API 以函数的形式呈现,例如 printf()、scanf()、fopen() 等。

    Java API 主要以类的形式呈现,例如 String、Thread、Date 等。

    C++ 是在C语言的基础上进行的扩展,所以 C++ API 既包含函数也包含类。

    第三方库(框架)

    libxml2——xml的c语言版库,2个项目使用过,win和Linux下都很犀利~~比较快捷

    CURL—— 这个用的主要是使用了他的封装的http和https的请求,比较犀利,其中包含了openssl的内容

    iconv——功能强大的编码格式转化库,UTF8,Unicode等互相转化很方便

    openssl——C的开源密库,可以进行证书加密和https的访问的模拟提交可以和CURL配合使用

    cocos2d——2D游戏引擎,相比较传统的UI自己控制的重画

    OpenCV——开源图像库

    还有很多第三方(非官方)的组织机构、公司、个人提供的代码,也是一种 API。这些代码有的免费,有的收费;有的开源,有的闭源。这些代码大都针对某个特定的应用领域编写,有时候被称为框架或者库。例如基于C语言的图形界面库GTK,基于C++的网络库ACE,基于Java的大数据处理平台Hadoop,基于Python的Web开发框架Django,基于JavaScript的前端开发框架React。

    全球最大的代码托管网站GitHub也贡献了很多优秀的代码,它们大都开源免费。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。。这些第三方的API数目众多,种类丰富,我们应该大胆去使用,尽量避免重复造轮子。

    常见问题:

    假设你想在你的窗体模块中声明一个函数,粘贴然后运行,VB会告诉你:编译错误...Declare 语句不允许作为类或对象模块中的Public(公共的) 成员。..看起来很糟糕,其实你需要做的只是在声明前面添加一个Private(私有的)。不要忘了,可是这将使该函数只在该窗体模块可用。. 在有些情况下,你会得到"不明确的名称"这样的提示,这是因为函数、常量或其他的什么东西共用了一个名称。由于绝大多数的函数都进行了别名化,亦即意味着你可以通过Alias子句使用其它的而不是他们原有的名称,你只需简单地改变一下函数名称而它仍然可以正常运行。

    总结:API随处可见,它屏蔽了很多底层细节,实现了很多常用功能,大大简化了程序员的工作。用好API,事半功倍!

     原文出处:http://baijiahao.baidu.com/s?id=1586026960877760125&wfr=spider&for=pc

     

    展开全文
  • 什么API,说人话!

    万次阅读 多人点赞 2016-08-16 07:35:37
    在我学习软件开发之前,API 听起来就像一种啤酒 不过今天我经常使用这个名词以至于我最近在酒吧的时候都想点一杯 API了 酒保的反映是抛出了个404:找不到该资源 我碰到很多人,无论是在技术行业工作的还是其他...

    在我学习软件开发之前,API 听起来就像一种啤酒


    不过今天我经常使用这个名词以至于我最近在酒吧的时候都想点一杯 API了


    酒保的反映是抛出了个404:找不到该资源


    我碰到很多人,无论是在技术行业工作的还是其他,他们对API这个相当常见的名词的含义的理解有点模糊和偏差


    严格的来说, API 代表:应用程序编程接口,在某些或其他方面,很多大型公司会建立自己的API提供给用户或者内部使用


    不过怎么用通俗的语言向你解释什么是API呢,在开发和业务中他是不是更多的含义呢,让我们后退一步看看网络是如何工作的。


    www和远程服务器

    当我想到网络的时候,我脑海中想象了一张巨大的连接服务网络


    每一张页面都储存在远程服务器中,而一个远程服务器并不是那么的神秘,他就是一部分用来优化请求过程的远程计算机


    为了能让事情更透明,你可以在你一台可以服务整个网站到网络上的手提电脑上启动一个服务器(事实上,一个本地服务器就是在发布到公众上之前工程师需要开发网站:注:其实这句话我不是很理解,翻译得乱七八糟,原文是:a local server is what engineers use to develop websites before releasing them to the public)


    当你键入www.facebook.com进入你的浏览器并回车的时候,一个请求就去到了faceboook的远程服务器。一旦你的浏览器接收到了响应,它就解析代码并展示页面。


    浏览器,也就是我们说的客户端 ,也可以不太严谨的说facebook的服务器就是个API ,这意味这每次你在网络上浏览网页的时候,你就和一些远程服务器的API发生了交互。


    一个API并不是等同于一整个远程服务器,他是服务器用来接受请求和发送响应的一部分


    API就是一种为你客户提供服务的方法

    你可能听说过公司将API包做成一个产品,例如,”地下气象站“出售的就是它自己的气象数据API的 入口


    实例场景: 你的个人小型商业网站有一个给客户注册的预约表格,你想要给你的客户提供自动创建一个谷歌日历时间的能力。


    API 使用:这概念就是让你的网站服务器带着请求去创建一个具体的事件,你的服务器之后会接收到谷歌的响应,处理它,然后将有关信息发送回给你的浏览器,例如发送一个认证信息给你的用户


    另外,你的浏览器会通过你的服务器经常直接发送API 请求到谷歌服务器


    谷歌日历的API 和其他的远程服务器的API 究竟有什么不同


    专业的说,不同之处在于他们的请求和响应的形式是不一样的


    当你提交整个页面的时候,你的浏览器期待的是一种HTML格式的响应,这个响应里包含了一些描述性的代码,当谷歌日历API 响应的时候会返回一些数据,大多是类似与json的格式


    如果你的网站服务器发出了个API 请求,那么你的网站服务器就变成了个客户端(类似与当你使用浏览器访问网站的时候你的浏览器就成了客户端一样)


    从用户的角度来说,API允许他们完成一些没有离开网站的动作


    很多现代的网站都至少使用了一些第三方API


    很多问题都有了第三方的解决方案了,无论是以函数库或者是服务的形式,使用第三方的解决方案现在已经逐渐变得更简单和更可靠。


    这是很常见的,开发团队将他们的应用分解到多个服务器里面,服务器通过API 相互交流。为主应用服务器提供辅助功能的服务器这方面的知识可以参考微型服务器


    总得来说,当一个公司向它的用户提供了API 的时候,这就意味着他们建造了一系列的专用URL通道,用来返回纯数据形式的响应,意味这响应不会包含一些用于解释的额外开销,你期望的是一种像网站一样的图表用户界面。


    你的浏览器可以发送这种请求吗,当然可以,由于实际的HTTP传输都是以文本的形式进行的,你的浏览器总是能达到它能展示响应的最好状态


    例如,你可以通过浏览器直接访问GitHub的API ,甚至根本不需要访问标记(=_= # 什么是访问标记.....),当你用浏览器访问一个GitHub的用户API的时候,你将获得一个JSON形式的响应

    {
      "login": "petrgazarov",
      "id": 5581195,
      "avatar_url": "https://avatars.githubusercontent.com/u/5581195?v=3",
      "gravatar_id": "",
      "url": "https://api.github.com/users/petrgazarov",
      "html_url": "https://github.com/petrgazarov",
      "followers_url": "https://api.github.com/users/petrgazarov/followers",
      "following_url": "https://api.github.com/users/petrgazarov/following{/other_user}",
      "gists_url": "https://api.github.com/users/petrgazarov/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/petrgazarov/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/petrgazarov/subscriptions",
      "organizations_url": "https://api.github.com/users/petrgazarov/orgs",
      "repos_url": "https://api.github.com/users/petrgazarov/repos",
      "events_url": "https://api.github.com/users/petrgazarov/events{/privacy}",
      "received_events_url": "https://api.github.com/users/petrgazarov/received_events",
      "type": "User",
      "site_admin": false,
      "name": "Petr Gazarov",
      "company": "PolicyGenius",
      "blog": "http://petrgazarov.com/",
      "location": "NYC",
      "email": "petrgazarov@gmail.com",
      "hireable": null,
      "bio": null,
      "public_repos": 23,
      "public_gists": 0,
      "followers": 7,
      "following": 14,
      "created_at": "2013-10-01T00:33:23Z",
      "updated_at": "2016-08-02T05:44:01Z"
    }
    一个JSON的响应就像它已经是可以让你直接使用的代码了,很容易在这段文本里添加额外的数据,然后你就可以对这段数据做任何你想要做的事了


    A就是application

    作为结束,就多扔几个关于API 的事例吧


    “应用”可以指很多事情,在API 里面他指代的是:

     1 :一个具有不同功能的软件
     2:整个服务器,整个app,或者是app的一小部分

    基本上任何软件都可以从环境中有区别的分离开来,有可能在API 里成为A(也就是Application),也可能它本身就是某种API


    假设你在你的代码里使用了第三方的函数库,一旦与你的代码结合了,一个函数路就成为了你真个APP里的一部分,成为软件中特殊的一部分,函数库很可能具有一个让你可以与你其他的代码相互沟通的API 


    这有其他的一些例子,在面对对象设计中,代码是被组织进对象的,你的应用程序可能是由上百个可以相互交流的类构成的


    每个类都有一个API ,一系列公共方法和用于和其他类进行交流的的属性


    一个类可能有内部的私有化属性,这意味这它是对外部环境隐藏的(不是一个API )


    在使用API 这个东西越来越普遍的今天,希望你看完本篇文章后会有更多的理解


     


    展开全文
  • 什么API接口,具体是什么意思?

    万次阅读 多人点赞 2019-02-19 22:36:34
    什么API,看一下餐厅里怎么点餐的就行了。 到了饭店,喊一场服务员,点餐。服务员拿出来菜单给你看,你点什么,她在小本本上记什么。点好了之后,再把菜单送到后厨去。这里服务员就是提供服务的(不然也不叫服务员...
    说到API,往往是和SDK放在一起的。什么叫API,看一下餐厅里怎么点餐的就行了。
    

    到了饭店,喊一场服务员,点餐。服务员拿出来菜单给你看,你点什么,她在小本本上记什么。点好了之后,再把菜单送到后厨去。这里服务员就是提供服务的(不然也不叫服务员),提供什么服务呢?点餐服务。
    点餐服务需要什么呢?谈一个服务,通常就是要谈输入是什么,输出又是什么。从眼下这个例子来看,输入就是一道道菜品的名字(或者是ID,不知道你们见过菜品上面有编号,服务员只记编号的?),输出的结果就是端过来的一道道菜。有了输入和输出,服务员就可以提供了点餐的功能,这就是API顾客就是调用者,服务员就是服务的提供者。
    你可以在这里把服务员替换成猫猫,假设女王大人猫猫来给你提供服务,只要输出是菜品的名字,输出是菜品,这个API就是能够正常使用的。而且,所有的顾客都可以用这种方式来点菜 的再想想 ,是不是有的服务员手里拿的是点餐机? 想想一个漂亮的小姑娘,拿着一个和手机大小差不多的点餐机,这个点餐机,就是需要和后厨删除线格式 系统有交互,这种交互,就需要一种约束,来声明点菜功能的输入是什么,输出是什么。比如说,如果用户点了一道已经估清的菜,是不是服务员要告诉顾客一下?
    API通常是以Http的形式提供,它隐藏的含义就是,只要你符合我定义的标准,你就

    可以来使用我。比如说,服务员是中国姑娘,顾客是美国人,没关系,只要美国人能说中国话,这套API就可以使用。如果美国人只会说英语,怎么办?让和美国人一起来吃饭的中国朋友翻译成中文,就可以了~~~~
    那么什么是SDK呢?当美国人不会说中文的时候,饭店里的大堂经理来了,他来给美国佬当翻译。这就是SDK,SDK一般都是和语言相关,是官方提供的各种不同语言的实现版本。同样的,我们再把思维模式扩大一点。除了Http这种API,内部系统集成的组件,是否也是有API?你会发现,确实是这样的,比如说,JDK本身提供的各种API,在这里,API和SDK的概念没有那么清楚了,但是API本身的含义就是,当服务的提供方对外提供服务的时候,应该声明输入和输出和功能的明确含义。而一组组明确声明了的输入,输出和功能描述,就是服务方提供的各种API。比如说数组对外暴露的方法,链表对外暴露的方法等等。那么,API和方法之间有没有明显的区别呢?暴露出去的,可被公开使用的方法,统称为API~~~以上解释不够严谨,但是对于初学者来说,理解起来应该够了。如果你在理解API的时候有困难,大概问题并不是在API上,而是你有没有理解清楚什么叫做封装,什么叫做服务?

    展开全文
  • 什么API

    2018-12-10 16:02:57
    阅读编程资料时经常会看到API这个名词,网上各种高大上的解释估计放倒了一批初学者。初学者看到下面这一段话可能就有点头痛了。 API(Application Programming ...这篇文章我们就来通俗易懂地解释下什么叫做 API...
  • 什么API

    千次阅读 2018-06-09 18:03:37
    作者:Petr Gazarov译者:忆蓉之心一、前言在我学习软件开发之前,API听起来像是一种啤酒。这篇文章我会大量使用这个词,我就以酒吧为例,比如我向酒吧订购API。调酒师响应给我一个404:资源未找到。我遇到了很多人...
  • 随着软件规模的日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要,程序设计的实践...API是接口的一种,在程序交互中具有重要的作用,而SDK与API有着密不可分的关系。 [SDK的概念] SD...
  • 什么API接口

    千次阅读 2019-05-14 00:58:07
    API是指应用程序编程接口,我们通过API接口可以实现特定的功能,而不需要了解其内部实现细节。可以把API接口理解为是特定服务的一种封装,将服务封装起来提供给他人调用,这样一来很多功能不需要从新开发。 举个...
  • 新手上路:什么API接口

    万次阅读 多人点赞 2018-09-11 15:15:00
    我们先来看看API的定义: API:应用程序接口(API:Application Program Interface) 应用程序接口(API:application programming interface)是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的...
  • 什么API gateway 为什么要用 API gateway 后记 前言 一开始吧,感觉我也描述不好什么API gateway,在看了这篇文章(https://microservices.io/patterns/apigateway.html)之后,感觉豁然开朗,那么我这边就用...
  • 如何理解APIAPI 是如何工作的

    万次阅读 多人点赞 2018-05-06 09:44:02
    大家可能最近经常听到 API 这个概念,那什么API,它又有什么特点和好处呢? wiki 百科镇楼 …[APIs are] a set of subroutine definitions, protocols, and tools for building application software. In ...
  • 什么API?为什么要提供API

    千次阅读 2015-07-09 10:26:42
    什么API?为什么要提供API?  API(Application Programming Interface,应用程序编程接口) 是一套用来控制Windows的各个部件(从桌面的外观到为一个新进程分配的内存)的外观和行为的一套预先定义的Windows函数. ...
  • 什么API?

    万次阅读 多人点赞 2018-06-27 15:45:34
    应用程序接口(API)是以编程语言提供的结构,允许开发人员更容易地创建复杂的功能。它们抽象出更复杂的代码,并提供一些简单的语法来使用。来看一个现实世界中的例子:想想您的房子、公寓或其他住宅的电力供应,...
  • 什么是RESTful API?

    万次阅读 多人点赞 2018-12-25 16:01:42
    但是什么是RESTful API ?如何理解RESTful API 呢?请大家耐心读完这篇文章,相信您读完后一定会有一个更好的理解。我个人认为,要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST 全称:REpresentational ...
  • 编程中的api什么?是什么意思?

    千次阅读 2019-09-24 13:02:53
    API是一些预定义函数,目的是用来提供应用程序与开发人员基于某软件或者硬件得以访问一组例程的能力,并且无需访问源码或无需理解内部工作机制细节。 API就是操作系统给应用程序的调用接口,应用程序通过调用操作...
  • 什么API接口平台?作用是什么

    千次阅读 2019-09-14 14:10:41
    在每一个互联网总不会缺少统一的API接口平台,公司级、部门级等等。存在即是合理,那么一个接口平台诞生的背景是什么,为了解决什么问题?怎么解决? 接口治理 系统A调用系统B,双方测试各种联调,终于有一天调通了...
  • API网关是什么

    万次阅读 2018-08-08 23:12:14
    1、API网关介绍 API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载...
  • API级别是什么

    千次阅读 2016-03-30 15:26:32
    API级别是什么 当你开发你的Android应用程序时,了解该平台API变更管理的基本方法和概念是很有帮助的。同样的,知道API级别标识以及该标识如何保障你的应用与实际硬件设备相兼容对于开发及后续的发布、维护都是...
  • api侵入是什么

    千次阅读 2018-03-15 13:21:52
    就是接入第三方框架,是否需要在代码里import 其jar包里的类,比如spring 一部分功能都是配置文件完成的(比如给所有service impl下的类所有方法加事务) 一部分功能是需要使用到他们的api(比如注入 autowired)...
  • 毕竟我不是什么大神我只是爱看文章的程序猿。 首先呢让我唱响国际歌:起来饥寒交迫的程序员,起来全世界开发的人。好了别改变人家的歌词了。皮埃尔·狄盖特 的棺材板盖不住了。言归正传=======> 随着软件...
1 2 3 4 5 ... 20
收藏数 1,173,633
精华内容 469,453
关键字:

什么是api