api接口开发简述简单示例,技术小白如何快速开发API接口
关于【api接口开发简述简单示例】,今天犇犇小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
1、api接口开发简述简单示例:技术小白如何快速开发API接口?
更为常见的是,API接口很可能是远程的服务端API,其背后采用Java、PHP、C#、Pyhon、C/C++、Ruby、Scala等一种或多种后端语言开发搭建,提供了数据存储、通讯、各类服务等功能。一般是使用HTTP协议进行通讯,使用JSON格式序列化返回接口结果和数据。
API接口的地位与作用
API接口是项目开发过程中必要的组成部分之一,是客户端应用与服务端应用通信和桥梁。
除此之外,从专业角度来说,API不仅代表着接口本身,还蕴含了服务端的整体系统架构、数据存储、服务端管理、第三方系统的整合等,只是对外看来,表现出来的是API接口。
可以说,API接口直接使用方是客户端应用,地位是客户端与服务端之间的通信桥梁,是信息化的桥梁,所担负的作用是把业务功能通过接口服务形式具体化,为应用编程开发提供技术支持。
图片来源于网络
怎么开发API接口?
作为服务端开发,需要考虑如何快速有效开发API接口。
正所谓,“君子生非异也,善假于物也。”选择合适的方法、工具,可以让你开发API接口更加事半功倍。
对于同一件事情,不同的做事方式,所需要的时间、成本和难度也各不相同。特别对于技术小白,不同做法,难度不同。
如果不得要领,或摸索前进,或从头开始开发API接口,其难度可能相当于爬一座山,从山脚攀登到山顶,中途不知道怎么走,需要什么工具和经验,一切都是未知状态,需要自己去探索、尝试、调整。
如果选择一款合适的开源框架,选对了开发工具,难度会大大降低,这时的难度可能会降到跑一个田径场,绕着田径场多跑几圈,虽然也要耗时间和体力,但每次跑的路线你都已经熟悉,练习得越多,你会越熟练。
如果有一套现成的产品或半成品,只需要根据原来设定的规则进行扩展和二次开发,其难度可能会变成跟百米赛跑一样,因为有了前面的积累,达到了厚积薄发的境界,只要稍微修改调整就可以达到目标。
当然,最高境界是自己什么都不用做,是最省事省力省时间的,这时的难度就类似你通过一个传送门或时光机,瞬间就到达了你想要去到的目的地。
你当前是处于哪个境界?
下面将来介绍,开发API接口需要涉及哪些方面,以及不同难度和不同境界下的解决方案。
一个API接口有什么?
小编在大学花了四年时间学习软件工程这门专业,尔后又花了近十年时间在上市公司、互联网、创业等公司负责后端系统的开发,经历了商城、游戏、广告等行业的项目开发,同时在接口开源框架有近5年的积累,结合教育背景、工作经验、业务知识、项目和技术,总结了一个API接口应该包括但不限于以下方面:
概括来说,通常,人们会觉得API接口只有:
- 接口文档
- 接口示例
- 客户端SDK包
- 相关视频
- 接口鉴权
因为这些是API接口容易被外界所看得到的,但这只是API接口冰山的一角。在API接口的背后,还有需要与第三方的整合与对接,需要为BI提供的数据分析,需要进行接口流量、响应时间的统计与监控,还有相关的基础设施和基建(例如:域名、服务器、数据库等)。
PHP接口开发用哪个开源框架?
当开发API接口时,如果是新项目,推荐选择一款合适的开源框架。那么,对于PHP开发或者是新手开发,可以选择一款合适的PHP开源接口框架,或者说是PHP开源接口框架,重点突出是会对接口的开源框架。
如果问百度,搜:接口框架。
第一个显示的是:PhalApi轻易级开源接口框架。
如果问谷歌,搜:接口框架。
第一个显示的还是:PhalApi轻易级开源接口框架。
如果问小编,那么小编推荐的也是PhalApi轻易级开源接口框架。
PhalApi(π框架),是一个轻量级PHP开源接口框架,专注于接口服务开发,支持HTTP/SOAP/RPC协议,拥有自动生成的在线文档、多种开发语言的客户端SDK包以及可重用的扩展类库,可用于快速搭建微服务、RESTful接口或Web Services。
PhalApi从2015年开源到现在,已有5年历史,社区活跃,文档、视频教程完整,并且很多开发者和公司都正在使用。
PhalApi开源版的在线接口文档:
PhalApi开源版提供的运营平台:
PhalApi开源框架官网:https://www.phalapi.net/ (可以免费下载)
更优质的接口开发工具
PhalApi是一款优秀的开源接口框架,通过它,可以自动生成在线接口文档,本身设计优雅,容易上手。通过PhalApi开源接口框架开发API接口,就像围着田径场跑步一样,每写一个接口等于跑一圈的话,写得越多,你会越熟练。并且,PhalApi还提供了很多封装好的可以自动生成CURD的数据接口,极大减少了编程的工作量。
不过,PhalApi本身只是一个框架,虽然提供了很多插件、扩展类库,但很多业务功能和接口,都需要自己重新设计和实现。
这时,可以使用PhalApi专业版,与开源版类似的是,也是提供了PHP源代码,以及前端源代码,也有齐全的开发文档,是PhalApi开源框架的升级版。但PhalApi专业版是一个很强大的工具,很多功能和模块已经是开发好,可以直接使用,或快速进行二次开发。
PhalApi开源框架专注于API接口开发,而PhalApi Pro专业版则定位于云平台的搭建,包括PaaS平台、SaaS平台、数据平台、接口平台等,PhalApi Pro专业版包括:
- API接口系统(100+款API接口直接可用,有PHP源代码)
- Platform开放平台(提供给开发者进驻和创建应用、申请接口权限)
- Admin管理后台(给内部管理员使用的总后台)
- 在线接口文档(实时生出的精美接口文档)
- 技术文档(提供给后端技术人员使用和参考的文档)
云平台的整体架构与业务流程如下:
专业版授权套餐分为:标准版和旗舰版,均可用于商业项目的快速开发。
- 特别地,针对接口这部分,PhalApi专业版提供的功能包括但不限于:
- 接口可视化设计与编程(自动生成PHP接口代码)
- 接口测试(接口黑盒测试)
- 接口流量统计(统计报表)
- 接口文档(自动生成)
- 接口权限分配(针对应用、账号和角色的权限分配)
- 接口鉴权(基于access_token和基于动态签名两套方案)
- 接口计划任务
可以说,PhalApi专业版,已经针对接口设计了大量的工作,你只需要在这个基础上专注业务接口开发即可,剩下的接口权限分配、统计、鉴权,都是直接现成可用的。并且,你能获取到专业版的源代码,开发完成后可以独立部署,也可以为你的项目申请软件著作权和版权。
PhalApi专业版提供的管理后台:
PhalApi专业版提供的开放平台:
PhalApi专业版提供的接口文档:
PhalApi专业版官网:http://pro.yesapi.cn/ (可以在线体验和下单购买)
API接口开发最高境界:Serverless免接口开发
就像武侠小说里说的那样,不出剑就把对方制胜了。
API接口开发的最高境界,是免接口开发,最好情况是我们不用编写任何代码,甚至什么事都不用做,就有现成的API接口可以直接用于项目开发。
这样的服务可称为Serverless。
无服务器运算(英语:Serverless computing),又被称为函数即服务(Function-as-a-Service,缩写为 FaaS),是云计算的一种模型。以平台即服务(PaaS)为基础,无服务器运算提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云端平台来提供。
知乎Serverless
YesApi小白接口就是这样的技术服务商。
小白接口,已经累计为项目开发提供了500+款API接口,涵盖数据库、CDN存储、微信小程序、会员体系等API接口。
以数据库为例,小白接口就提供了非常全面简单且强大的数据接口:
从数据库开始,小白就已经提供了非常多的数据模型模板,建表加字段,对于小白来说都是轻而易举的事情。
在平台上,可以在线管理数据,导入导出,查看修改删除,一并俱全。
创建模型,调用接口操作数据后,你便可以实时看到接口流量的分析和统计。
还可以看到大屏幕实时大数据统计:
对于API接口这方面,小白接口经过3年时间,已经深耕得非常成熟,对于接口的权限分配、接口开关、接口统计、接口签名、接口功能、接口监控,都已经很成熟和稳定,并且还可以编写自己的云函数。
只需要一行代码,你就能通过云函数实现数据库的操作。例如:
function ($params, $di) { $result = array('err_code' => 0, 'err_msg' => ''); $result['count'] = $di['db']->article_tbl->count('id'); // 模型名称后面须带上_tbl后缀 return $result;}
云函数是基于PHP编写的,上面第3行代码,就实现了对数据库的总数统计。
又如,发送邮件,云函数的代码是:
function ($params, $di) { $result = array('err_code' => 0, 'err_msg' => ''); // 第一个参数是收件人邮箱,第二个参数是邮件标题,第三个参数是邮件正文内容(HTML格式) $result['is_send'] = $di['email']->send('helper@yesapi.cn', '邮件标题', '邮件内容'); return $result;}
目前,YesApi云函数提供了以下服务,可快速用于接口开发。
通过云函数,你只需要参考代码模板,编写一行代码或者编写几行代码就能实现自己的业务逻辑,无需管理服务器即可运行移动后端代码。
YesApi小白接口官网:http://yesapi.cn/ (可免费注册开通使用)
总结对比
最后,总结开发API接口和几种方案对比。
从零开始、使用框架、使用产品、使用服务。
难度:相当于登山(很难)、相当于在田径场跑步(一般)、相当于百米赛跑(容易)、相当于使用了传送门(开挂)。
例如:视情况而定、使用PhalApi开源接口框架、使用PhalApi专业版、使用YesApi小白接口云服务。
2、api接口开发简述简单示例,API接口入门三
本文通俗易懂地剖析用户授权的设计原理和四种授权模式,重点介绍授权码登录模式,适合阅读的人群:开放平台/第三方合作的产品经理,初入职场的产品经理。
1. 应用场景我们每个人都遇到过授权登录的环节,授权登录的应用无孔不入,可能你是在授权应用权限,或是授权账户登录,或是授权个人信息。
我们常见的应用场景一般有以下:
- 新安装应用:授权获取存储空间,设备信息等(手机原生弹窗)
- 支付宝授权登录淘宝:授权使用支付账户登录淘宝APP(淘宝原生页面)
- 微信打开美团外卖:授权获取你的头像和地理位置(微信原生弹窗)
因而授权登录是应用间交互的重要且广泛的步骤,深入了解过其中的原理很有必要。
2. 授权登录是什么?以美团外卖授权获取你的头像和地理位置为例:
- 头像和地理位置属于你的个人信息,如需要传输,必须经得本人的同意,法律不允许默认传输。
- 授权登录是经得资源所有者(亦即是用户)同意,服务提供商(亦即是微信,他为你提供授权服务)提供授权服务和应用方(他来使用你的授权)使用授权的过程。
字面意思就是如下图流程:
值得关注的是第3步和第4步:当你在授权的过程中,实则是你和微信的直接交互,与美团外卖小程序无关。
亦即是:你是跟微信同意授权,也是微信接收到你的“同意”的指令,即使在网站用微信登录也是如此,如豆瓣登录,需要微信扫描二维码,确保授权动作保留和发生在微信自己的环境内。
3. 授权登录的模式那么从形式来说,授权登录可以分为静默授权和手动授权两种模式:
4. OAuth2原理及剖析
- 静默授权:一般是用于获取一些类似于用户ID的信息,比如每个用户在微信的ID被称为openid,这种ID只是用户的唯一身份认证(相当于编号),不包含个人信息,应用获取openid并不能分析出你的手机号和身份证号这些个人信息。显然,很多用户都不知道openid是什么,总不能弹个弹窗问用户“你是否同意传输openid”吧。因而这类传输,用户是无感的,用户只需访问了某个页面,后台会向微信请求拿到你的openid。
- 手动授权:这种亦即是我们上文提到的用户场景,这类型场景需要获取的信息是你的个人信息,比如头像,昵称,手机号和地址等等。这些个人信息是必须经过用户手动点击同意的。
以上第2点是授权的基本简化,本节是更重点介绍OAuth2的系统链路流程(无论是静默或是手动,系统链路一致,只是形式的区分)。目前市面上涉及授权,权限申请的业务均通过OAuth2的方法进行设计。
OAuth2具体可以分为以下四种:
- 授权码模式(authorization code)【重点】
- 简化模式(implicit)
- 密码模式(resource owner password credentials)
- 客户端模式(client credentials)
4.1 授权码模式
其中最重要的就是第一种授权码模式,接下来我以企业微信授权码方法做解析,其流程图非常清晰。
例子讲解:
场景:该身份授权是用户在企业微信使用第三方应用时拉起授权页面的流程。类似于你在微信打开饿了么小程序。
系统交互的步骤:
- 用户在企业微信打开一个A应用。此时A应用通过静默推送获取到用户的userid,发现这个用户没有头像和昵称信息在A应用的数据库。
- 此时,A应用调用企业微信的OAuth认证链接,这个链接要带上企业ID(表明应用方),权限获取范围(头像 昵称),标记本次授权的编号(state)和授权完跳转的地址,做好链接之后,向微信发送过去。
- 企业微信收到请求后,校验企业ID和授权跳转的地址是否对应。如果验证通过,企业微信会给A应用一个令牌(code),并在前端打开企业微信的授权页面(该页面由企业微信管理)。
- 用户点击授权了之后,企业微信可以利用code和state向企业微信请求用户信息API,获得用户token,最终获得指定用户信息。
- 同时用户点击授权后,企业微信关闭授权页,并跳转到A应用在第2步提供的跳转地址。
4.2 简化模式
请记住第一个模式中的第(1)步和第(2)步都需要A应用处理,简化模式就是简化了第(2)步。
以下在微信的场景仅用于举例:
- 用户点击应用入口之后,微信直接让用户是否同意授权(授权的内容和触发时间提前配置好),用户点击同意。
- 用户同意后,跳转到该应用在后台预留的地址,并且微信把访问令牌直接告诉应用。
- 应用利用访问令牌找微信获取用户信息,完成。
此处你有没有发现,前面授权的过程并不需要应用本身参与,这个就是比授权码模式简化的地方。但这种模式不支持用户令牌的更新,也就是用户第一次授权过期了之后,下一次又需要重新手动授权。
4.3 密码模式
这种模式很直接,相当于你把你微信的账户密码告诉饿了么,饿了么利用你的账户密码去获取信息。这种方式极其不安全,用户的账户信息随时会被外泄。
4.4 客户端模式
这种其实不属于授权,实则就是两个应用间直接进行信息传输,与用户无关。
5. 总结
- 授权分为静默授权和手动授权,一般出现在打开应用登录的环节,应用广泛。
- 授权的组件或页面必须在拥有数据的应用中,这样才能确保用户在授权页上同意协议,清晰看到传输的数据范围,以及确保用户亲手同意授权。
- 授权分为四个模式,其中授权码模式是应用最广泛,最重要的模式。
- 授权码模式亦即是A应用拼接企业参数向企业微信请求打开授权页面,获取用户授权码code,再利用code获得用户的token,最终获取用户信息。
相关阅读
API接口入门(一):读懂API接口文档
API接口入门(一):读懂API接口文档
作者:就是爱睡觉,电商和金融业行业的产品,以TO B业务为主,文章是用于记录自己在产品工作的思考和想法,希望有想法的小伙伴共同交流。
本文关键词:api接口开发用什么语言,api接口开发简述简单示例图片,api接口技术,api接口的简单编写方式,api数据接口开发。这就是关于《api接口开发简述简单示例,技术小白如何快速开发API接口》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。