什么是OpenAPI、什么是开放平台?
根据百度百科的记录,
在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做Open API,提供开放API的平台本身就被称为开放平台。 百度百科
我们也可以通过一些案例来快速认识开放平台,例如支付宝的开放平台:
又如抖音开放平台:
以及微信开放平台:
总结下来,开放平台一般有以下特点:
1、二级域名通常使用open,例如:open.xxx.com
2、使用人群和用户对象主要是开发者,因此需要开发者申请入驻
3、开放平台核心提供的是OpenAPI,不同开发者或不同应用,拥有不同的接口调用权限
4、开放平台还需要为开发者用户提供配套完成的产品功能体系,以便让开发者可以在平台上查看和管理账号、核心业务数据,甚至订单信息
5、需要提供在线的接口文档,即便是游客也能访问查看
6、一个账号可以创建或申请多个应用
7、平台侧,需要有一个内部管理后台,对开发者账号、应用、API接口权限、流量统计等进行通用的管理
如何在1天时间内,快速搭建你的OpenAPI和开放平台?
下面,以 接口大师,也就是PhalApi开源框架的专业版,介绍和分享如何在1在时间内,搭建自己的OpenAPI和开放平台。
运行环境的要求
接口大师,主要是基于主流的PHP开发语言 MySQL数据库开发的,所以技术很通用。
运行环境要求如下:
- 操作系统:Windows/Linux/Mac/Ubuntu/CentOS等
- 开发语言:PHP 5.3.3 及以上版本,推荐使用PHP 7
- 数据库:MySQL 5.5 及以上版本
- Web服务器:Nginx/Apache
- 正式服务器配置最低配置:CPU 1核 / 内存 2G / 硬盘空间40G / 带宽1M
官方推荐使用:CentOS 7 PHP 7 MySQL 5.6 Nginx
正式的服务器环境,建议使用更高配置的服务器。
安装
第1步、在获取到接口大师的源代码后,将项目源代码包上传到服务器,并进行解压。假设解压目录为:/www/phalapi-pro。
源代码压缩包解压后有:
第2步、进行Web服务器的配置。
如果使用的是Nginx,参考以下Nginx配置,配置好重启Nginx。
代码语言:javascript复制server
{
listen 80;
server_name open.phalapi.net;
index index.html index.php;
root /www/phalapi-pro/public;
location ~ .*.(php|php5)?$
{
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# 管理后台
if (!-e $request_filename) {
rewrite ^/admin/(.*) /admin/index.html;
}
# 开放平台
if (!-e $request_filename) {
rewrite ^/platform/(.*) /platform/index.html;
}
# 静态资源缓存
location ~.*.(js|css|html|png|jpg)$
{
expires 3d;
}
# 限制上传的PHP文件,都只能是下载,而非执行
location ~* /uploads/.*.(php|php5)?$
{
}
access_log /var/log/nginx/open.phalapi.net.access.log;
error_log /var/log/nginx/open.phalapi.net.error.log;
}
温馨提示:请把open.phalapi.net换成你自己的域名。
第3步、安装向导
安装地址:http://你的域名/install ,或者打开首页:http://你的域名/,点击进入安装向导。
进入安装向导后,同意安装。检测通过后,下一步。
根据表单,填写数据库的相关配置,以及管理员的账号和密码。下一步。
温馨提示:重点修改你的项目名称、你的数据库连接、管理员登录密码。
安装成功。
开始使用你的开放平台
成功安装后,就可以开始使用你的自己的开放平台了。
访问开放平台首页
默认的开放平台首页类似如下,你可以根据自己的需求进行二次开发。
首页,主要是给游客以及已注册的用户访问和使用的,提供了新手引导和开放平台介绍的内容。
通过顶部菜单,可以看到有以下访问入口:
- 首页
- OpenAPI
- 开放平台
- 技术文档
- 管理后台
- 语言切换
- 注册/登录
访问开放平台
开放平台是提供给你的开发者使用的,开发者可以是内部的也可以是外部的,或者第三方开发者。
当开发者需要使用开放平台时,第一件事情是需要注册新账号。
注册成功后,即可登录:
登录成功后,即可进入开放平台,进行应用管理、查看接口权限、查看流量统计、提交工单以及开发者个人中心等。例如在开放平台的首页可以看到:我的应用、我的订单、我的套餐、API总数、接口流量统计、我的工单等。
访问OpenAPI
在开放平台左下方,以及首页的顶部菜单,都可以明显看到有OpenAPI接口文档的入口。这些是开发者需要重点查看、开发对接、调用和依赖的API接口。
进入到OpenAPI,可以看到有接口分类页:
接口搜索页:
接口详情页:
在接口详情页,同时提供了在线接口测试的功能。
访问内部管理后台
管理后台,是提供给内部管理员使用的,以便对开发者、应用、接口、业务数据等进行全面的管理和维护。
例如,管理后台的登录界面:
为方便区分,开发者平台是蓝色主题,管理后台是黄色主题。
成功登录后,可以进行管理后台首页。
通过左侧菜单,可以看到有很丰富和完善的功能和菜单。
- 首页
- 服务大厅
- 账号管理(开发者账号管理,以及管理员账号)
- 应用管理(开发者入驻和应用申请审核)
- 接口管理(接口权限分配)
- 工单管理
- 素材库
- 配置管理
- 计划任务
- 数据库管理
- 统计(登录、开发者注册、应用汇总、接口流量等统计)
- 权限控制(管理后台和开放平台的菜单权限分配)
如何添加自己的API接口?
在完成接口大师的安装,以及简单的认识和使用后,就可以根据自己的需要,基于接口大师进行二次开发,把自己需要开放的荥接口,需要共享的数据对外提供给你的开发者。
下面以Hello World为示例,讲解如何快速二次开发,添加自己的API接口。
创建 ./src/app/Api/HelloWorld.php文件,并添加以下PHP代码:
代码语言:javascript复制<?php
namespace AppApi;
use AppCommonApi;
/**
* Hello World示例
*/
class HelloWorld extends Api {
/**
* 接口示例
* @desc 一个开放接口示例,可直接访问,不需要任何验证,因为配置了service_whitelist白名单。熟悉后可删除此示例接口。
* @return string content 一句话
*/
public function say() {
return array('content' => 'Hello PhalApi Pro!');
}
}
这样就可以手动添加一个自己的新接口了,后面的接口文档、接口权限、接口统计等,都可以由接口大师自动生成。
例如接口分页会显示此接口模块和接口名称:
Hello World的接口详情页:
在开放平台,开发者可以看到此接口是否有调用权限(由于当前开发者的应用未审核通过,所以不具备任何接口的调用权限):
在管理后台,可以看到此接口的权限以及进行分配:
通过界面,自动生成OpenAPI
接口大师,还有一个亮点和创新的功能,就是可以通过界面,直接自动生成OpenAPI的PHP代码,甚至连代码都不需要编写,就可以生成你的接口或CURD数据接口。
只需要填写接口的类名和方法名,就可以快速生成接口文件的源代码,保存后,效果就和前面手动编写接口一样。非常方便。
小结和在线演示
可以通过演示账号,直接登录,在线体验。
以及接口大师5合1产品矩阵的效果汇总如下:
整体技术架构设计
接口大师,整体技术架构设计如下:
查看技术文档
更多内容,请参考 接口大师的 技术文档。 http://www.yesx2.com/wiki/#/
PhalApi Pro 2.0 技术文档
前言
简介
安装
一、使用手册
1.1 API接口系统使用手册
1.2 Platform开放平台使用手册
1.3 Admin管理后台使用手册
二、产品介绍
2.1 整体架构及业务流程
2.2 账号体系
2.3 开放接口权限
2.4 重要项目配置
三、API接口开发文档
3.1 接口分类
3.2 在线接口文档
3.3 如何调用接口
3.4 如何开发接口
3.5 接口调试
3.6 计划任务
3.7 连接其他数据库
3.8 第二套接口验签方案
四、前端开发文档
4.1 Platform开放平台开发文档
4.2 Admin管理后台开发文档
五、附录
5.1 版本更新日记
5.2 数据库表结构
5.3 联系我们
5.4 如何编写开发手册
5.5 文档编写规范