天天看點

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

開放内部API接口更省心省力省時間的解決方案

基于已有的内部API接口,或者現有的資料庫,當需要給外部開放和提供API接口時,有哪些工具或解決方案,能快速實作企業自建API接口開放平台的需求?

如果打算從零開始,自建接口開放平台,無疑将會面臨成本投入大、項目周期長、上線後對接不穩定、系統産品功能考慮不周等痛苦和問題。

于是,選擇和使用符合産品需求、技術選型吻合的工具和解決方案,将會讓你在接口平台搭建上事半功倍。

接口大師(PhalApi-Pro),就是這樣一套研發、管理和開放API接口的軟體源代碼和解決方案,它基于PhalApi開源接口架構+Vue前後端分離,可用于快速搭建各類企業級接口平台。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

接口大師的三大特色

接口大師,在開放平台的産品設計上,有完整的接口生态能力。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

接口大師,極大降低了API接口開發的難度和時間,讓技術人員可以更專注于API接口本身的業務開發。除此之外,它還提供了接口代碼線上生成器、支援swagger導入、自動生成線上接口文檔、支援一鍵部署安排(包括Windows/Linux/Docker/國産系統等)。

經過多年的經驗總結,企業開放接口的内部驅動力來分析,主要來自三個方面:

  • 第一,基于企業内部已有的API接口,進行選擇性對外開放;
  • 第二,基于企業内部已有的資料庫業務資料,進行部分資料的共享和自動化對接;
  • 第三,基于新接口功能的開放、提供和服務。

結合這三大内部驅動力和開放APi接口最常用的開發模式,接口大師提供了三種快速生成、開發和開放API接口的特色能力。

  • 特色1:一鍵導入swagger,即刻開放内部APi接口
  • 特色2:資料庫動态配置,輕松開放資料API接口
  • 特色3:普通API接口源代碼線上生成器

特色1:一鍵導入swagger,即刻開放内部APi接口

在API接口管理背景,可以一鍵導入swaager.json檔案,然後選擇性地開放你的API接口。

導入前的swagger接口清單:

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

上傳導入時,勾選需要開放的swagger接口:

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

導入後,對API接口的二次開發和調整:

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

前台開放接口文檔的浏覽效果,類似如下:

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

外部開發者注冊後,可以檢視自己已經授權的API接口,并根據接口文檔進行接口的調用。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

最後,接口管理背景可以檢視和統計開發者的接口流量使用情況,對接口進行權限配置設定、配額設定、IP白名單設定、應用有效日期、接口流量包、接口流量統計等進行管理。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

例如,接口管理背景的首頁統計。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

特色2:資料庫動态配置,輕松開放資料API接口

接口大師,支援:MySQL、Sql Server、Oracle、PostgreSQL等常用資料庫。

如果需要快速開放你内部的資料庫資料給外部開發者,可以先動态配置好你的資料庫,然後再快速生成資料庫的API開放接口。全程操作支援界面化操作,以及低代碼的開發方式,不需要專業的後端開發工程師,根據教程配置和使用,即可實作程式設計。

首先,添加你的資料庫配置。進入資料庫配置管理,

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

添加新資料庫配置,根據資料庫配置表單填寫,并測試資料庫連接配接是否正常。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

配置好你的資料庫後,檢查你的資料庫是否正确。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

然後,進入接口管理,并添加新接口。在接口設計類型時,選擇【生成資料庫表接口API】,然後選擇你的資料庫,以及對應的資料庫表。根據提示,補充其他接口的開放資訊,例如接口的參數、接口的請求方式等。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

确認沒問題後,點選生成代碼,儲存草稿。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部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 
    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接口。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

進入到剛才新建立的資料API接口文檔,可以檢視接口文檔,以及進行線上接口測試。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

後續的接口使用、管理和前面類似,不再贅述。

特色3:普通API接口源代碼線上生成器

最後,如果是需要開發和開放新的接口功能和接口服務,可以在接口源代碼線上生成器中,選擇普通API接口,并且進行線上接口程式設計。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

如果需要進行源代碼的接口快速開發,可以參考 PhalApi Pro 技術文檔。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

或者參考PhalApi開源接口架構(https://www.phalapi.net/)的開發文檔。

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

接口大師 v3.13 版本釋出與更新的内容

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

接口大師v3.13更新:支援一鍵導入swagger,即刻開放内部API接口

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、資料庫更新