接口大师v3.10.0 零代码/低代码,把内部接口变成OpenAPI开放接口的妙招
把内部接口快速变成开放接口的妙招
如果原来已经有一批内部的API接口,现在需要调整成对外开放的API接口,有没快速的办法,能即刻实现?最好是当天就能部署上线,对外开放使用的解决方案?
如果需要把内部接口变成开放接口,至少需要解决以下问题:
为外部开发者提供注册的页面
开放指定的API接口权限给外部开发者
提供在线接口文档
和内部API接口进行对接
使用新的对外域名,例如:open.xxx.com
选择合适的工具和解决方案,能快速实现你想要的效果,并且最快当天就能上线。
零代码/低代码的API解决方案
我们先来看一个例子。
假设原来使用Java实现的某个内部接口是:Hello Wolrd示例接口,路径是:/api/Hello/World。现在需要转成外部API接口。下面介绍零代码或低代码的解决方案。
首先,进入接口大师的管理后台-接口管理-可视化接口设计-添加接口。然后在接口设计类型选择【接口对接API】,随后在表单中依次填写接口服务名称、接口模块、接口标题、接口参数、接口返回示例等,这些都是新API接口对外展示的内容。
关键的一步,是点击页面上的【生成代码】,系统会自动根据你填写的表单,生成和内部接口对接的PHP代码。
我们把生成的代码复制出来,类似:
namespace App\Api;
use App\Common\Api;
// use App\Domain\JavaHello as JavaHelloDomain;
/**
* 内部Java示例接口
*/
class JavaHello extends Api {
/**
* 接口参数规则配置
*/
public function getRules() {
$rules = parent::getRules();
$curRules = array(
'World' => array(
'city' => array (
'name' => 'city',
'type' => 'string',
'require' => true,
),
),
);
return array_merge($rules, $curRules);
}
/**
* 内部Java接口对接示例
* @desc 内部Java接口对接示例
*
*/
public function World() {
// 接口参数获取
$city = $this->city; // 参数
// 结果返回
$rs =array();
// 获取用户ID,未登录时异常返回
// $uid = $this->tryToGetUid();
// 获取app_key,未指定时异常返回
// $appKey = $this->tryToGetAppKey();
// TODO: 实现你的业务逻辑……
// $domain = new JavaHelloDomain();
// API接口对接(内部接口,或上游接口)
$apiParams = array(
'city' => $city, //
);
// TODO: 接口地址,请更换成你需要请求的接口地址
$apiUrl = 'http://api.xxxx.com/';
// POST请求
$curl = new \PhalApi\CUrl();
$curlRs = $curl->post($apiUrl, $apiParams);
// GET请求
// $curlRs = $curl->get($apiUrl . (strpos($apiUrl, '?') ? '&' : '?') . http_build_query($apiParams));
$rs['backend_data_raw'] = $curlRs;
$rs['backend_data'] = json_decode($curlRs, true);
return $rs;
}
// 绑定数据库模型
protected function getDataModel() {
return new \App\Model\JavaHello();
}
}
你只需要根据上面生成的代码模板,把内部API接口的路径,填写到$apiUrl这个变量即可。你还可以补充和添加额外的请求参数。
下一步,保存和生成接口代码,你可以在在线接口文档看到刚刚生成的OpenAPI接口。
自动生成新的接口文档如下:
通过在线测试,可以直接调用此API接口,例如返回以下数据:
接口大师v3.10.0版本更新
接口大师,是一套研发、管理和开放API接口的软件源代码和解决方案。
本次 v3.10.0 版本更新内容主要有:
PhalApi专业版 3.10.0 (2022-04)
1、注册时支持同时创建默认应用,可配置
2、接口生成支持API对接模式
3、支持后台套餐的搜索账号和接口
4、后台-订单管理,支持订单搜索和订单经营统计
5、管理后台-工单列表,优化显示
6、token支持唯一性的判断和配置
7、修复接口编辑,保存并发布时使用最新手工编写的代码
8、一些已知的bugfixed和细节优化
如何升级到接口大师v3.10.0?
在联系我们,获取到最新版v3.10.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.10.0.sql 数据库文件变更,并执行。
5、配置更新,对比更新 ./src/config/app.php文件,主要添加了enable_app_and_user_unique_token等配置