接口大师v3.10.0 零代码/低代码,把内部接口变成OpenAPI开放接口的妙招

共 533字,需浏览 2分钟

 ·

2022-04-11 05:57

把内部接口快速变成开放接口的妙招

如果原来已经有一批内部的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等配置


浏览 85
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报