会SQL语句,就能快速开放你的数据接口API

简介: 会SQL,就能开放你的数据API接口。如果你是非技术开发工程,不熟悉Java、PHP、Python、Golang这些后端的编程语言,但熟悉MySQL、Oracle、SQL Server、PostgreSQL这些数据库的查询操作,当你需要把现有的数据库的数据,通过API接口形式提供给外部人员使用时,使用派框架·接口大师这个工具,就能轻松实现。

会SQL,就能开放你的数据API接口

如果你是非技术开发工程,不熟悉Java、PHP、Python、Golang这些后端的编程语言,但熟悉MySQL、Oracle、SQL Server、PostgreSQL这些数据库的查询操作,当你需要把现有的数据库的数据,通过API接口形式提供给外部人员使用时,使用派框架·接口大师这个工具,就能轻松实现。


低代码接口开发工具

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

适合用于开发新项目、已使用PhalApi开源框架的项目,或现有项目的系统重构,可用于快速搭建:OpenAPI、接口平台、数据平台、PaaS平台、SaaS平台、BaaS平台、开放平台等。

本地安装好后,就可以开始使用了。


具体的数据接口示例教程

假设我们已经在以下的国家数据库表pp_countries:

字段 sortname:表示国家简称,name 表示国家全称,还有区号phonecode,以及经纬度字段。

现在使用 接口大师 这个工具,介绍如何低代码开发、管理和开放你的数据API接口。


自动生成数据API接口

进入接口大师的管理后台,进入接口管理-低代码接口开发-添加接口。


接口设计类型选择:生成数据库表接口API。

在接口服务名称这里,把类名改成你的数据库表名,不需要带表前缀,同时使用大写开头的坨峰法写法。


在接口参数填写需要支持的搜索参数。

例如,支持国家名称的模糊匹配。


接下来,点击生成代码。会生成类似如下的PHP代码:

<?php
namespace App\Api;
use App\Common\DataApi as Api;
// use App\Domain\Countries as CountriesDomain;
/**
 * 国家地区
 */
class Countries extends Api {
    /**
     * 接口参数规则配置
     */
    public function getRules() {
        $rules = parent::getRules();
        $curRules = array(
            'ActionName' => array(
                'name' => array (
                'name' => 'name',
                'type' => 'string',
                'desc' => '国家名,模糊匹配',
                'require' => true,
              ),
            ),
        );
        return array_merge($rules, $curRules);
    }
    /**
     * 查询搜索国家地区列表
     * @desc 请输入接口功能描述
     * 
     */ 
    public function ActionName() {
        // 接口参数获取
        $name = $this->name; // 国家名,模糊匹配接口参数
        // 结果返回
        $rs = array(); 
        // 获取用户ID,未登录时异常返回
        // $uid = $this->tryToGetUid();
        // 获取app_key,未指定时异常返回
        // $appKey = $this->tryToGetAppKey();
        // TODO: 实现你的业务逻辑……
        // $domain = new CountriesDomain();
        // 动态查询参数
        $whereParams = array(
            ':name' => $name, // 国家名,模糊匹配
        );
        // 获取数据库的表实例,可以切换你的数据库和其他表
        $table = \PhalApi\DI()->notorm->countries;
        // 根据SQL查询数据库,需要带表前缀
        // 更多数据库操作请见:http://docs.phalapi.net/#/v2.0/database-usage
        $sql = 'SELECT * FROM pp_countries WHERE name = :name 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\Countries();
    }
}


生成的代码,可以不用太关注。你只需要调整SQL语句,改成自己需要搜索的条件即可。

例如,找到SQL这一行的语句:

// 根据SQL查询数据库,需要带表前缀
        // 更多数据库操作请见:http://docs.phalapi.net/#/v2.0/database-usage
        $sql = 'SELECT * FROM pp_countries WHERE name = :name LIMIT 0, 100';


改成你自己的SQL语句,例如模糊搜索国家名。

// 根据SQL查询数据库,需要带表前缀
        // 更多数据库操作请见:http://docs.phalapi.net/#/v2.0/database-usage
        $sql = 'SELECT * FROM pp_countries WHERE name LIKE :name LIMIT 0, 100';


同时把参数调整成左右模糊匹配:

// 动态查询参数
        $whereParams = array(
            ':name' => '%'.$name.'%', // 国家名,模糊匹配
        );

然后,点击【保存并发布】。


数据接口的在线接口文档、在线测试和调试

发布接口后,就可以在OpenAPI在线接口文档看到刚刚添加发布的新数据接口。


点击可以进入新接口的在线接口文档。截图如下:


你可以在线进行接口测试。填入需要搜索的国家名,例如:输入A。


可以看到接口返回以下数据:

{
    "ret": 200,
    "data": {
        "rows": [
            {
                "id": 1,
                "sortname": "AF",
                "name": "Afghanistan",
                "phonecode": 93,
                "lat": "33.93911",
                "lng": "67.709953"
            },
            {
                "id": 2,
                "sortname": "AL",
                "name": "Albania",
                "phonecode": 355,
                "lat": "41.153332",
                "lng": "20.168331"
            },
            .......
        ]
    },
    "msg": ""
}


开启调试模式后,还可以看到背后执行的SQL语句和执行时间:

[#2 - 4.7ms - SQL]/path/to/src/app/Api/Countries.php(63):    App\\Api\\Countries::ActionName()    pp_countries    SELECT * FROM pp_countries WHERE name LIKE :name LIMIT 0, 100; -- '%A%'


完善接口文档

你还可以补充添加接口返回的结构、字段说明。


再次发布后,就可以在前台接口文档查看到:

开放你的数据接口API

最后,再来看下如何把你开发添加好的新数据接口API开放给其他人。

开发者的主要使用流程是:


所以,开发者,需要先到开放平台注册一个新账号,然后登录。


再创建新的应用并等待后台审核通过:


应用通过审核后,根据app_key和密钥,申请接口访问令牌。

获取到访问令牌access_token后,就可以调用和使用你新添加的数据API接口。

相关文章
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
GLM-4V-Flash:智谱 AI 免费开放的图像理解大模型 API 接口
智谱AI推出的GLM-4V-Flash是一款专注于图像理解的免费开放大模型,提供API接口支持用户上传图片URL或Base64编码图片获取详细的图像描述。该模型通过深度学习和卷积神经网络技术,简化了图像分析流程,提高了开发效率,适用于内容审核、辅助视障人士、社交媒体、教育和电子商务等多个应用场景。
118 14
GLM-4V-Flash:智谱 AI 免费开放的图像理解大模型 API 接口
|
21天前
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。
|
20天前
|
JSON API 开发者
淘宝买家秀数据接口(taobao.item_review_show)丨淘宝 API 实时接口指南
淘宝买家秀数据接口(taobao.item_review_show)可获取买家上传的图片、视频、评论等“买家秀”内容,为潜在买家提供真实参考,帮助商家优化产品和营销策略。使用前需注册开发者账号,构建请求URL并发送GET请求,解析响应数据。调用时需遵守平台规定,保护用户隐私,确保内容真实性。
|
20天前
|
搜索推荐 数据挖掘 API
淘宝天猫商品评论数据接口丨淘宝 API 实时接口指南
淘宝天猫商品评论数据接口(Taobao.item_review)提供全面的评论信息,包括文字、图片、视频评论、评分、追评等,支持实时更新和高效筛选。用户可基于此接口进行数据分析,支持情感分析、用户画像构建等,同时确保数据使用的合规性和安全性。使用步骤包括注册开发者账号、创建应用获取 API 密钥、发送 API 请求并解析返回数据。适用于电商商家、市场分析人员和消费者。
|
1月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
此API用于检测指定TCP端口是否开放,支持POST/GET请求。需提供用户ID、KEY、目标主机,可选指定端口(默认80)和地区(默认国内)。返回状态码、信息提示、检测主机、端口及状态(开放或关闭)。示例中ID和KEY为公共测试用,建议使用个人ID和KEY以享受更高调用频率。
55 14
|
6天前
|
JSON API 开发者
京东店铺所有商品数据接口(JD.item_search_shop)丨京东API接口指南
JD.item_search_shop 是京东开放平台提供的接口,用于获取店铺所有商品数据。请求方法为 GET,主要参数包括 shopId(必填)、page、pageSize 和 sortType。开发者需先注册并获取 API 密钥,确定目标店铺 ID 后构建请求。响应为 JSON 格式,适用于电商应用、价格比较和市场分析等场景。
|
30天前
|
存储 SQL 安全
API 数据接口使用与安全指南
本文介绍了API数据接口的基础知识、使用流程及安全要点。首先,定义了API及其在现代技术生态中的重要性,接着详细阐述了API使用的六个步骤:明确需求、搜索筛选、注册获取密钥、解读文档、环境搭建与集成、数据处理与应用集成。最后,强调了API安全的重要性,包括身份验证、数据加密、防范攻击及安全监控等方面,确保API的安全稳定运行。
|
2月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
该API用于检测目标主机指定TCP端口是否开放,适用于检测连通状态等场景。支持指定大陆、美国、香港等检测节点。请求地址为 `https://cn.apihz.cn/api/wangzhan/port.php`,支持POST和GET请求方式。请求参数包括 `id`、`key`、`type`、`host` 和 `port`。返回参数包含检测结果和状态码。示例请求:`https://cn.apihz.cn/api/wangzhan/port.php?id=88888888&key=88888888&type=1&host=49.234.56.78&port=80`。
|
4月前
|
JSON 供应链 数据挖掘
抖音商品sku数据接口(Dy.item_sku)丨抖音平台API数据接口指南
抖音商品详情SKU数据接口(Dy.item_sku)由抖音开放平台提供,用于获取商品详细信息,包括名称、价格、图片等。开发者需注册并获取权限,遵循API限制,通过商品ID调用接口,解析JSON格式返回数据。该接口广泛应用于商品展示、库存管理、订单处理及数据分析,助力提升工作效率和用户体验。使用时需遵守平台规则,确保数据安全。
|
3月前
|
JSON JavaScript API
商品详情数据接口解析返回的JSON数据(API接口整套流程)
商品详情数据接口解析返回的JSON数据是API接口使用中的一个重要环节,它涉及从发送请求到接收并处理响应的整个流程。以下是一个完整的API接口使用流程,包括如何解析返回的JSON数据: