站点图标 Linux-技术共享

接口大师v3.13更新,支持一键导入swagger,即刻开放内部API接口

开放内部API接口更省心省力省时间的解决方案

基于已有的内部API接口,或者现有的数据库,当需要给外部开放和提供API接口时,有哪些工具或解决方案,能快速实现企业自建API接口开放平台的需求?

如果打算从零开始,自建接口开放平台,无疑将会面临成本投入大、项目周期长、上线后对接不稳定、系统产品功能考虑不周等痛苦和问题。

于是,选择和使用符合产品需求、技术选型吻合的工具和解决方案,将会让你在接口平台搭建上事半功倍。

接口大师(PhalApi-Pro),就是这样一套研发、管理和开放API接口的软件源代码和解决方案,它基于PhalApi开源接口框架+Vue前后端分离,可用于快速搭建各类企业级接口平台。

075d6990d2c14267bf8dd1d34b8df652tplv-k3u1fbpfcp-zoom-in-crop-mark4536000.image_

接口大师的三大特色

接口大师,在开放平台的产品设计上,有完整的接口生态能力。

接口大师,极大降低了API接口开发的难度和时间,让技术人员可以更专注于API接口本身的业务开发。除此之外,它还提供了接口代码在线生成器、支持swagger导入、自动生成在线接口文档、支持一键部署安排(包括Windows/Linux/Docker/国产系统等)。

经过多年的经验总结,企业开放接口的内部驱动力来分析,主要来自三个方面:

  • 第一,基于企业内部已有的API接口,进行选择性对外开放;
  • 第二,基于企业内部已有的数据库业务数据,进行部分数据的共享和自动化对接;
  • 第三,基于新接口功能的开放、提供和服务。

结合这三大内部驱动力和开放APi接口最常用的开发模式,接口大师提供了三种快速生成、开发和开放API接口的特色能力。

  • 特色1:一键导入swagger,即刻开放内部APi接口
  • 特色2:数据库动态配置,轻松开放数据API接口
  • 特色3:普通API接口源代码在线生成器

特色1:一键导入swagger,即刻开放内部APi接口

在API接口管理后台,可以一键导入swaager.json文件,然后选择性地开放你的API接口。

导入前的swagger接口列表:

上传导入时,勾选需要开放的swagger接口:

导入后,对API接口的二次开发和调整:

前台开放接口文档的浏览效果,类似如下:

外部开发者注册后,可以查看自己已经授权的API接口,并根据接口文档进行接口的调用。

最后,接口管理后台可以查看和统计开发者的接口流量使用情况,对接口进行权限分配、配额设置、IP白名单设置、应用有效日期、接口流量包、接口流量统计等进行管理。

例如,接口管理后台的首页统计。

特色2:数据库动态配置,轻松开放数据API接口

接口大师,支持:MySQL、Sql Server、Oracle、PostgreSQL等常用数据库。

如果需要快速开放你内部的数据库数据给外部开发者,可以先动态配置好你的数据库,然后再快速生成数据库的API开放接口。全程操作支持界面化操作,以及低代码的开发方式,不需要专业的后端开发工程师,根据教程配置和使用,即可实现编程。

首先,添加你的数据库配置。进入数据库配置管理,

添加新数据库配置,根据数据库配置表单填写,并测试数据库连接是否正常。

配置好你的数据库后,检查你的数据库是否正确。

然后,进入接口管理,并添加新接口。在接口设计类型时,选择【生成数据库表接口API】,然后选择你的数据库,以及对应的数据库表。根据提示,补充其他接口的开放信息,例如接口的参数、接口的请求方式等。

确认没问题后,点击生成代码,保存草稿。

可以看到,系统自动生成的接口PHP源代码如下:

<?php
namespace App\Api;
use App\Common\DataApi as Api;
// use App\Domain\ClassNameAds as ClassNameAdsDomain;

/**
 * 请输入接口模块Ads
 */
class ClassNameAds extends Api {

    /**
     * 接口参数规则配置
     */
    public function getRules() {
        $rules = parent::getRules();
        $curRules = array(
            'ActionNameAds' => array(
                // 
            ),
        );
        return array_merge($rules, $curRules);
    }

    /**
     * 请输入interface_title
     * @desc 请输入接口功能描述
     * @version v1.0
     * 
     */ 
    public function ActionNameAds() {
        // 接口参数获取
        // 接口参数获取
        // 结果返回
        $rs = array(); 

        // 获取用户ID,未登录时异常返回
        // $uid = $this->tryToGetUid();

        // 获取app_key,未指定时异常返回
        // $appKey = $this->tryToGetAppKey();

        // TODO: 实现你的业务逻辑……
        // $domain = new ClassNameAdsDomain();

        // 动态查询参数
        $whereParams = array(
        );

        // 获取数据库的表实例,可以切换你的数据库和其他表
        $table = \PhalApi\DI()->db_yesdev_db_dev->pp_ads;
        
        // 根据SQL查询数据库,需要带表前缀
        // 更多数据库操作请见:http://docs.phalapi.net/#/v2.0/database-usage
        $sql = 'SELECT * FROM pp_ads WHERE 1=1 LIMIT 0, 100';
        $rows = $table->queryAll($sql, $whereParams);
        
        // 对数据的加工处理
        foreach ($rows as &$itRef) {
            // 对每一行数据的处理……
            // $itRef['id'] = $itRef['id'];
        }

        // 返回数据
        $rs['rows'] = $rows;
            

        return $rs;

    }

    // 绑定数据库模型
    protected function getDataModel() {
        return new \App\Model\ClassNameAds();
    }
}
复制代码

你可以对上面的接口源代码进行调整和修改,也可以直接使用。核心是,可以修改以下代码片段,以便实现你的数据SQL查询逻辑。

        // 根据SQL查询数据库,需要带表前缀
        // 更多数据库操作请见:http://docs.phalapi.net/#/v2.0/database-usage
        $sql = 'SELECT * FROM pp_ads WHERE 1=1 LIMIT 0, 100';
        $rows = $table->queryAll($sql, $whereParams);
复制代码

接口数据的SQL查询和操作确认后,进行接口的发布。如果选择了CURD接口,系统会同时提供默认的增删改查接口。在接口列表你将可以看到类似以下的数据API接口。

进入到刚才新创建的数据API接口文档,可以查看接口文档,以及进行在线接口测试。

后续的接口使用、管理和前面类似,不再赘述。

特色3:普通API接口源代码在线生成器

最后,如果是需要开发和开放新的接口功能和接口服务,可以在接口源代码在线生成器中,选择普通API接口,并且进行在线接口编程。

\

如果需要进行源代码的接口快速开发,可以参考 PhalApi Pro 技术文档。

或者参考PhalApi开源接口框架(www.phalapi.net/)的开发文档。

\

接口大师 v3.13 版本发布与更新的内容

本次 v3.13.0 版本更新内容主要有:

\

PhalApi专业版 3.13.0 (2022-07)

  • 支持MySQL动态数据库源管理和配置、使用,DI数据库服务使用延时初始化,保证数据库连接性能
  • 完善管理后台的菜单权限配置
  • 开放平台接口权限状态同步与优化
  • 支持API接口版本@version配置和显示、以及请求方式的文档显示优化
  • 支持swaager批量导入,支持多个接口的勾选、覆盖导入和快速发布
  • 管理后台统计增加表格合计
  • api开发工具优化,生成数据API接口时可以选择数据库和数据库表
  • 一些已知的bugfixed和产品优化
  • 优化修复:
  • 1、生成数据接口Api时,支持驼峰类名与蛇形命名法的数据库表名关联
  • 2、低代码接口开发,文案调整,以及生成HTTP网关接口API时,微调生成的接口模板
  • 3、接口低代码开发,支持GET/POST方法设置
  • 4、接口套餐创建后,不可更改套餐类型
  • 5、支持Oracle数据库连接

如何升级到接口大师v3.13 新版本?

在获取到最新版v3.13.0源代码,源代码后,本次版本更新的主要内容有:

注意!升级前,请注意原有的代码备份!!

1、替换./public/platform目录,更新Platform开放平台的编译包代码(如果原来已经改动Platform源代码,需要合并源码后再编译打包更新,可以使用git的分支合并进行新版本的对比和升级)

2、替换./public/admin目录,更新Admin管理后台的编译包代码(如果原来已经改动Admin源代码,需要合并源码后再编译打包更新,可以使用git的分支合并进行新版本的对比和升级)

3、PHP源代码更新

对比并替换./src/base目录,对比并替换./src/admin目录,对比并替换./src/platform目录,对比并替换./public/api目录。可以使用git的分支合并进行新版本的对比和升级。

4、数据库更新

请见
./data/phalapi_pro_v3.13.0.sql 数据库文件变更,并执行。

5、composer包更新

执行composer包更新命令:composer udpate。

作者:dogstarhuang
链接:https://juejin.cn/post/7119333938333483039
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
退出移动版