快速搭建你的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
相关文章
|
2天前
|
JavaScript 测试技术 API
探索后端开发:构建高效API的艺术
【9月更文挑战第8天】本文旨在揭示后端开发中一个经常被忽视的领域——API设计。通过深入浅出的方式,我们将探讨如何构建一个既高效又易于维护的API。文章将涵盖设计原则、最佳实践以及一些常见的陷阱和解决方案。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧,帮助你在后端开发的道路上更进一步。
|
3天前
|
前端开发 API 开发者
深入浅出:后端开发中的API设计艺术
在数字化时代的浪潮中,后端开发如同搭建一座座数据桥梁,连接着用户与服务的无限可能。而API设计,则是这座桥梁的精髓所在。本文将带领读者领略API设计的艺术,从基础原则到进阶实践,探索如何打造高效、稳定且易于使用的后端接口。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高质量后端开发的大门。
|
2天前
|
存储 安全 API
探索后端开发:构建高效API的艺术
【9月更文挑战第9天】在数字时代的浪潮中,后端开发如同一位默默无闻的艺术家,精心雕琢着每一个数据交互的细节。本文将带你走进后端的世界,从基础概念到实战技巧,一起学习如何打造高效、稳定且易于扩展的API。我们将通过深入浅出的方式,探讨后端开发的哲学与实践,让你在编码之旅中,找到属于自己的节奏和和谐。让我们一起跟随代码的脚步,解锁后端开发的无限可能。
|
6天前
|
XML JSON 缓存
探索后端开发中的RESTful API设计原则
【9月更文挑战第5天】在数字化时代的浪潮中,后端开发扮演着支撑整个互联网世界运行的基石角色。而作为连接前端与后端桥梁的RESTful API,其设计质量直接影响到应用的性能和用户体验。本文将深入探讨RESTful API的设计原则,通过浅显易懂的语言和实际代码示例,引导读者理解如何构建高效、易于维护的API。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考。
|
6天前
|
缓存 Java 应用服务中间件
随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架
【9月更文挑战第6天】随着微服务架构的兴起,Spring Boot凭借其快速开发和易部署的特点,成为构建RESTful API的首选框架。Nginx作为高性能的HTTP反向代理服务器,常用于前端负载均衡,提升应用的可用性和响应速度。本文详细介绍如何通过合理配置实现Spring Boot与Nginx的高效协同工作,包括负载均衡策略、静态资源缓存、数据压缩传输及Spring Boot内部优化(如线程池配置、缓存策略等)。通过这些方法,开发者可以显著提升系统的整体性能,打造高性能、高可用的Web应用。
27 2
|
10天前
|
XML JSON API
淘宝京东商品详情数据解析,API接口系列
淘宝商品详情数据包括多个方面,如商品标题、价格、图片、描述、属性、SKU(库存量单位)库存、视频等。这些数据对于买家了解商品详情以及卖家管理商品都至关重要。
|
9天前
|
测试技术 API 数据库
电商API接口定制与开发系列之——商品详情接口介绍
——在成长的路上,我们都是同行者。这篇关于API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 在电商API接口定制与开发系列中,商品详情接口是至关重要的一部分,它直接关系到用户浏览商品、获取商品信息的关键环节。以下是对商品详情接口的详细介绍:
|
11天前
|
缓存 测试技术 API
探索后端开发:构建高效API的实用指南
【8月更文挑战第31天】 在数字化时代的浪潮中,API(应用程序编程接口)已成为连接不同软件和服务的关键纽带。本文旨在为开发者提供一个简明而深刻的指南,通过深入浅出的方式介绍如何构建高效、可扩展的后端API。我们将从基础概念开始,逐步深入到设计原则和最佳实践,最后通过一个实际的代码示例来演示这些理念的应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和灵感,帮助你在后端开发的道路上更进一步。
|
11天前
|
Java Spring API
Spring框架与GraphQL的史诗级碰撞:颠覆传统,重塑API开发的未来传奇!
【8月更文挑战第31天】《Spring框架与GraphQL:构建现代API》介绍了如何结合Spring框架与GraphQL构建高效、灵活的API。首先通过引入`spring-boot-starter-data-graphql`等依赖支持GraphQL,然后定义查询和类型,利用`@GraphQLQuery`等注解实现具体功能。Spring的依赖注入和事务管理进一步增强了GraphQL服务的能力。示例展示了从查询到突变的具体实现,证明了Spring与GraphQL结合的强大潜力,适合现代API设计与开发。
28 0
|
11天前
|
监控 测试技术 API