API调用的几种类型

API是对APP的包装,也就是通常所说的接口,APP和APP间的互相调用,包括读取数据,修改数据等,就通过调用API来实现,API的好处显而易见,标准化,service化,外部用户看不到里面的复杂的东西。一个成熟的产品必须要有API来给其他应用提供接口。

学习调用API是dev ops的必备技能,大家最熟悉的应该是REST API的调用吧,没错这是现在很通用很流行的一种API调用方式,还有一些其他的调用方式,这里给大家一一介绍。

REST API

REST API是web service api的一种,其他的还有SOAP,XML-RPC, JSON-RPC。 SOAP使用的是WSDL语言,大家在一些PHP代码中偶尔可以看到,现在使用的不多了,因为它的安全性不是很好。

大家可以在我的另外一篇博文中详细了解这种API调用的案例

http://haohaozhang.blog.51cto.com/9176600/1668761

Library-Based API

通过调用库的方式来调用API,这种方式也非常常用,比如你监控系统用的kafka,在client端会有个kafka client library ,你写的脚本用来抓取客户端的metrics,然后调用kafka client library来吧metrics吐给kafka。详细案例大家可以看我的另一篇博文

http://haohaozhang.blog.51cto.com/9176600/1792973

OS API / HARDWARE API

大家在操作系统上操作的时候,比如各种系统命令,其实也在调用OS的API,只是被忽略了而已,还有硬件层面的操作,也都是调用API。

以上是调用API的几种主要方式,在此做一个归纳总结,希望对大家所有帮助。

时间: 2024-10-11 11:13:55

API调用的几种类型的相关文章

(转)Sphinx中文分词安装配置及API调用

这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂时不要选择原版Sphinx(对中文的支持不是很好).又因为服务器所用 MySQL在当时编译时并没有编译Sphinx扩展,而重新编译MySQL并加入Sphinx暂时又无法实现(项目用到了多台服务器,在不影响现有业务的 情况下不可能去重新编译MySQL的),所以采用的是程序通过API来外部调用Sphin

使用Fluent API 配置/映射属性和类型

Code First约定-Fluent API配置 使用Fluent API 配置/映射属性和类型 简介 通常通过重写派生DbContext 上的OnModelCreating 方法来访问Code First Fluent API.以下示例旨在显示如何使用 Fluent API 执行各种任务,您可以将代码复制出来并进行自定义,使之适用于您的模型. 属性映射 使用Fluent API 配置/映射属性和类型 简介 通常通过重写派生DbContext 上的OnModelCreating 方法来访问Co

20151015_系统分析阶段分析类的三种类型

在系统分析阶段将分析类分为三种类型:实体类.界面类.控制类. 1.实体类 实体类主要是作为数据管理和业务逻辑处理层面上存在的类别: 它们主要在分析阶段区分 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关 基本信息 上述给出的实体类的定义是比较抽象的.类具有继承和递归的特点,实体类可以在抽象类的基础上进一步定义具体的类 实体类是用于对必须存储的信息和相关行为建模的类.实体对象(实体类的实例)用于保存和更新一些现象的有关信息,

Paypal获取Transaciton历史交易API初步研究(二)——Merchant API调用

关于调用Classic API查询Transaction记录,是使用Paypal的Merchant API,需要在项目的工程导入SDK包.下面是在Maven项目的pom.xml加入代码: 1 <dependency> 2 <groupId>com.paypal.sdk</groupId> 3 <artifactId>merchantsdk</artifactId> 4 <version>2.2.98</version> 5

Sphinx中文分词安装配置及API调用

这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂时不要选择原版Sphinx(对中文的支持不是很好).又因为服务器所用 MySQL在当时编译时并没有编译Sphinx扩展,而重新编译MySQL并加入Sphinx暂时又无法实现(项目用到了多台服务器,在不影响现有业务的 情况下不可能去重新编译MySQL的),所以采用的是程序通过API来外部调用Sphin

Sphinx安装配置及API调用实战手册

这几天项目中需要重新做一个关于商品的全文搜索功能,于是想到了用Sphinx,因为需要中文分词,所以选择了Sphinx for chinese,当然你也可以选择coreseek,建议这两个中选择一个,暂时不要选择原版Sphinx(对中文的支持不是很好).又因为服务器所用MySQL在当时编译时并没有编译Sphinx扩展,而重新编译MySQL并加入Sphinx暂时又无法实现(项目用到了多台服务器,在不影响现有业务的情况下不可能去重新编译MySQL的),所以采用的是程序通过API来外部调用Sphinx.

前后分离模型之封装 Api 调用

Ajax 和异步处理 调用 API 访问数据采用的 Ajax 方式,这是一个异步过程,异步过程最基本的处理方式是事件或回调,其实这两种处理方式实现原理差不多,都需要在调用异步过程的时候传入一个在异步过程结束的时候调用的接口.比如 jQuery Ajax 的 success 就是典型的回调参数.不过使用 jQuery 处理异步推荐使用 Promise 处理方式. Promise 处理方式也是通过注册回调函数来完成的.jQuery 的 Promise 和 ES6 的标准 Promise 有点不一样,

Web API对application/json内容类型的CORS支持

假设有一简单架构分为前后两部分,其一是Angular构成的前端页面站点,另一个则是通过ASP.NET Web API搭建的后端服务站点.两个站点因为分别布署,所有会有CORS(Cross-Origin Resource Sharing)的问题. 再假设后端已经对此做好相应配置,比如在web.config里加上了: <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" v

C#中方法的参数的四种类型

C#中方法的参数有四种类型: 1. 值参数类型  (不加任何修饰符,是默认的类型) 2. 引用型参数  (以ref 修饰符声明) 3. 输出型参数  (以out 修饰符声明) 4. 数组型参数  (以params 修饰符声明) =================================================== 1. 值传递: 值类型是方法默认的参数类型,采用的是值拷贝的方式.也就是说,如果使用的是值类型,则可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值.使用