快速搭建你的api数据交易平台-图文开发教程

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 如果你需要开发搭建自己的api数据交易平台,并且能在平台上面进行对客户管理、接口管理、套餐管理、账单管理、充值管理,那么下面将来介绍如何使用接口大师这个框架快速进行开发。

项目背景

如果你需要开发搭建自己的api数据交易平台,并且能在平台上面进行对客户管理、接口管理、套餐管理、账单管理、充值管理,那么下面将来介绍如何使用接口大师这个框架快速进行开发。


安装

PhalApi专业版的运行环境要求如下:

  • 操作系统:Windows/Linux/Mac/Ubuntu/CentOS等
  • 开发语言:PHP 7 及以上版本,推荐使用PHP 7.3
  • 数据库:MySQL 5.5 及以上版本
  • Web服务器:Nginx/Apache/IIS
  • 正式服务器配置最低配置:CPU 1核 / 内存 2G / 硬盘空间40G / 带宽1M

官方推荐使用:CentOS 7 + PHP 7 + MySQL 5.6 + Nginx


安装大概只需要几分钟,可以安装在Windows服务器、Mac、Linux服务器、虚拟机、Docker等,可以使用宝塔、IIS、Nginx、Apache等软件。上传到服务器,解压并配置好域名后。访问首页,可以看到并点击进入【首次使用,请先安装】。


随后进入安装向导界面。


填写数据库账号密码,以及管理员的账号密码,然后开始安装。

安装成功后,就可以开始进行二次开发。


系统项目和源代码结构

接口大师的系统项目主要分为5个子系统:平台展示官网、管理后台、开放平台、OpenAPI及在线接口文档、技术开发文档。


其中,源代码分为:PHP源代码一套、两套前端Vue/Javascript源代码、还有PHPUnit单元测试源代码。

如果是开发API接口,可以使用PHP编程语言进行开发(请放心,对于未使用PHP的技术人员,PHP是一门能快速上手的编程语言,并且接口大师已经把API接口的开发难度降低了近80%以上,同时比自己从零搭建平台可以节省整个项目大概30+天以上的项目周期)。


接口大师基于 PhalApi 开源接口框架,所以它的目录结构和开源版类似。PHP的接口源代码主要在src目录下。


PhalApi Pro版的目录结构如下,

./
├── README.md # 简介
├── bin # 脚本目录
├── config # 配置目录
│   ├── app.php # 应用配置
│   ├── dbs.php # 数据库配置
│   ├── di.php # 依赖服务配置
│   └── sys.php #系统配置
├── data # 数据库
│   └── phalapi_pro.sql # 数据库安装时的文件
├── language # 翻译包
├── pro_admin # 管理后台的前端源代码,基于iview-admin
├── pro_platform # 开放平台的前端源代码,基于iview-admin
├── public # 对外访问的目录
│   ├── admin # 管理后台访问入口(相当于pro_admin打包构建后的dist目录)
│   ├── api # 接口访问入口(内分前台API和后台API)
│   ├── docs # 离线生成的HTML接口文档
│   ├── docs.php # 在线版接口文档访问入口
│   ├── index.php
│   ├── init.php # 全局初始化文件
│   ├── install # 安装向导(成功安装后建议删除此目录)
│   ├── platform # 开放平台访问入口(相当于pro_platform打包构建后的dist目录)
│   ├── static # 静态资源
│   ├── uploads # 上传目录(需要有写入权限)
│   └── wiki # 技术文档
├── runtime # 运行目录
│   ├── _install.lock # 安装锁定文件
│   ├── cache # 文件缓存
│   └── log # 文件日志
├── sdk # SDK包
├── src # 项目源代码,非常重要
│   ├── admin # 后台接口源代码(遵循ADM模式)
│   ├── app # 开放平台接口源代码(遵循ADM模式)
│   ├── base # 基础包源代码(放置底层公共的代码,不对外直接提供接口,即不提供Api层)
│   ├── platform # 开放平台接口源代码(遵循ADM模式)
│   ├── task # 计划任务接口源代码(遵循ADM模式)
│   └── view # 页面模板目录(如接口文档)
├── tests # 单元测试
└── vendor # composer包,不需要手动修改,通过composer install/update可进行安装和更新


接口划分如下:


其中,App开放接口,这部分就是你给你的客户提供的接口,用来放置你的api数据服务接口。最后实时更新的在线接口文档(自动生成,不需要开发者人工维护),类似如下:


连接你的数据库

大概熟悉系统的源代码和代码目录结构后,我们还需要做一个准备工作,就是连接你原来的数据库,即将要开放数据服务的数据库。


目前,接口大师支持MySQL、MS SQL、PostgreSQL、Oracle 等数据库。

为此,你需要修改数据库配置文件./config/db_plus.php,修改里面的数据库连接配置。例如:

'servers' => array(
        'db_master' => array(                       // 服务器标记
            'type'      => 'mysql',                 // TODO: 数据库类型,暂时只支持:mysql, sqlserver
            'host'      => '127.0.0.1',             // TODO: 数据库域名
            'name'      => 'phalapi_pro',           // TODO: 数据库名字
            'user'      => 'root',                  // TODO: 数据库用户名
            'password'  => '',                        // TODO: 数据库密码
            'port'      => 3306,                    // 数据库端口
            'charset'   => 'utf8mb4',                  // 数据库字符集 utf8mb4或utf8
            'pdo_attr_string'   => false,           // 数据库查询结果统一使用字符串,true是,false否
            'driver_options' => array(              // PDO初始化时的连接选项配置
                // 若需要更多配置,请参考官方文档:https://www.php.net/manual/zh/pdo.constants.php
            ),
        ),
    ),


你也可以使用.env 文件进行环境变量的配置,再替换到上面的数据库配置文件。

修改DI注册文件./config/di.php,去掉以下代码的注释,注册并开启$di->notorm_plus服务。

// 连接其他数据库(或项目原有的数据库,需要时去掉注释)
// $di->notorm_plus = new NotORMDatabase($di->config->get('dbs_plus'), $di->config->get('sys.notorm_debug'));


在完成前面配置后,最后一步,便可以开始开发你的业务逻辑,连接或操作其他数据库。此时,新加的Model子类,如果是操作新增的数据库,则需要继承于Base\Model\PlusBase基类。例如:

<?php
namespace App\Model\Plus;
use Base\Model\PlusBase;
class Comment extends PlusBase {
    // 实现具体的数据库操作
}

这样,就可以连接和使用你的数据库表,进行API接口的开发和测试了。


开发并上架你的数据API

接口大师的一大开发特色,就是可以通过管理后台的界面,进行API低代码的在线开发。

先登录管理后台:



进入管理后台-接口管理-可视化接口设计-添加接口。


比如开放一个根据植物名称查询植物档案的接口,可以依次填写表单,把接口的标题、功能、需要的接口参数、接口返回字段、接口请求示例等写上。接口设计类型可以选择:普通接口API。然后【生成代码】。确认没问题后,可以【保存并发布】。发布后仍然可以继续修改和开发。


发布接口后,你就会看到类似以下的在线接口文档。具备在线接口测试等功能。非常方便。

设置API数据套餐和费用

有了业务数据,也有了API接口,下一步就是为我们提供的API数据接口设置费用和套餐。


进入管理后台-服务大厅-接口流量套餐-添加套餐。

类型选择:付费购买。

套餐名称:可以自己填写。

接口服务:选择刚才开发新增的API接口。

接口流量、套餐价格、有效时间:自己进行资费的配置。


配置套餐成功后,可以在后台看到套餐列表。


开发者在线购买和使用

当API接口配置套餐后,下一步,你的客户就可以在前台进行查看和购买。

对于需要付费才能使用的接口,接口列表会有【付费】标签提示。


进入到在线接口文档详情页,可以看到具体的接口流量套餐。


点击套餐,可以进行在线购买。支持支付宝等多种支付方式。

开发者购买后,可以在开放平台-服务大厅-我的套餐,查看我购买的套餐和流量消耗情况。


也可以在开放平台看到其他的统计数据,例如流量统计等。


后台流量统计和账单管理

最后,回到管理后台,可以看到全服的接口流量统计,每个应用、每个客户不同的统计数据。


也可以在后台看到订单、套餐和账单等数据。


当然,你也可以配置支付宝等在线支付的方式,不需要额外的开发。


还可以管理客户账号:


分配和管理接口权限:

基本上若搭建一个api数据交易平台,你只需要开发核心的API接口业务逻辑,剩下的接口大师都已经自动帮你完成,包括但不限于:自动生成接口文档(还支持离线文档导出)、接口权限管理、接口套餐管理、接口流量统计、接口日记、接口安全等。同时,可以节省30天+以上的项目周期,可以快速上线,为你的客户提供api数据服务。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
API
车牌号归属地查询免费API接口教程
本接口用于根据车牌号查询社会车辆的归属地,不支持军车、使馆等特殊车牌。请求地址为 `https://cn.apihz.cn/api/other/chepai.php`,支持 POST 和 GET 请求。请求参数包括 `id`、`key` 和 `words`,返回数据包含车牌归属地信息。示例请求:`https://cn.apihz.cn/api/other/chepai.php?id=88888888&key=88888888&words=川B1234`。
41 21
|
3天前
|
API 开发工具 数据库
开发一份API接口,需要注意这些,看你做到了几项
本文介绍了设计API接口时需注意的关键点,包括数字签名、敏感数据加密与脱敏、限流、参数校验、统一返回与异常处理、请求日志记录、幂等设计、数据量限制、异步处理、参数定义、完整文档及开发者对接SDK等内容,旨在帮助开发者设计出安全、稳定、易维护的API接口。
33 6
开发一份API接口,需要注意这些,看你做到了几项
|
4天前
|
API
获取网页重定向地址免费API接口教程
该API用于获取网页重定向跳转后的最终地址。请求地址为`https://cn.apihz.cn/api/wangzhan/tiaozhuan.php`,支持POST或GET方式。请求参数包括`id`、`key`和`url`,返回数据包含状态码`code`和最终URL`url`。示例返回:`{&quot;code&quot;:200,&quot;url&quot;:&quot;https://www.baidu.com/&quot;}`。
47 29
|
6天前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
5天前
|
JSON 前端开发 API
后端开发中的API设计与文档编写指南####
本文探讨了后端开发中API设计的重要性,并详细阐述了如何编写高效、可维护的API接口。通过实际案例分析,文章强调了清晰的API设计对于前后端分离项目的关键作用,以及良好的文档习惯如何促进团队协作和提升开发效率。 ####
|
3天前
|
JSON API 数据格式
如何使用Python开发1688商品详情API接口?
本文介绍了如何使用Python开发1688商品详情API接口,获取商品的标题、价格、销量和评价等详细信息。主要内容包括注册1688开放平台账号、安装必要Python模块、了解API接口、生成签名、编写Python代码、解析返回数据以及错误处理和日志记录。通过这些步骤,开发者可以轻松地集成1688商品数据到自己的应用中。
16 1
|
5天前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
该API用于检测目标主机指定TCP端口是否开放,适用于检测连通状态等场景。支持指定大陆、美国、香港等检测节点。请求地址为 `https://cn.apihz.cn/api/wangzhan/port.php`,支持POST和GET请求方式。请求参数包括 `id`、`key`、`type`、`host` 和 `port`。返回参数包含检测结果和状态码。示例请求:`https://cn.apihz.cn/api/wangzhan/port.php?id=88888888&key=88888888&type=1&host=49.234.56.78&port=80`。
|
4天前
|
API 数据安全/隐私保护
抖音视频,图集无水印直链解析免费API接口教程
该接口用于解析抖音视频和图集的无水印直链地址。请求地址为 `https://cn.apihz.cn/api/fun/douyin.php`,支持POST或GET请求。请求参数包括用户ID、用户KEY和视频或图集地址。返回参数包括状态码、信息提示、作者昵称、标题、视频地址、封面、图集和类型。示例请求和返回数据详见文档。
|
6天前
|
监控 搜索推荐 安全
探究亚马逊详情API接口:开发与应用
在数字化时代,亚马逊作为全球领先的电商平台,为商家和消费者提供了丰富的商品信息和便捷的购物体验。本文深入探讨了亚马逊详情API接口的获取与运用,帮助开发者和商家实时监控商品数据、分析市场趋势、优化价格策略、分析竞争对手、构建推荐系统及自动化营销工具,从而在竞争中占据优势。文章还提供了Python调用示例和注意事项,确保API使用的安全与高效。
27 3
|
6天前
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。