会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接口。

相关文章
|
15天前
|
JSON 数据挖掘 API
各大电商平台的商品详情数据接口(API接口系列)
各大电商平台的商品详情数据接口(API接口系列)是开发者在构建电商应用或进行数据分析时的重要工具。这些接口允许开发者通过编程方式获取商品的详细信息,如商品ID、标题、价格、库存、属性、描述、图片等。以下是对淘宝、京东、拼多多等电商平台商品详情数据接口的汇总,以及开发者在使用这些接口时需要注意的事项。
各大电商平台的商品详情数据接口(API接口系列)
|
20天前
|
安全 API 开发工具
开发api数据接口的工作步骤
本文概述了使用Python的Flask框架开发简单API数据接口的基本步骤。首先,需明确API提供的数据及其来源,确保数据的真实可靠。其次,选择合适的开发工具和技术栈,如Python结合Flask,并安装所需环境。编写代码时,应导入必要模块、创建应用实例、定义数据、设计路由及处理函数,并考虑错误处理和日志记录。测试阶段,在本地启动服务器并使用工具验证功能和性能。最后,选择合适平台部署API,并确保其稳定性和安全性。在整个过程中,需注重数据安全、代码质量及系统性能优化。
|
2月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之使用API调用ODPS SQL时,出现资源被定时任务抢占,该怎么办
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
11天前
|
API Java 数据库连接
从平凡到卓越:Hibernate Criteria API 让你的数据库查询瞬间高大上,彻底告别复杂SQL!
【8月更文挑战第31天】构建复杂查询是数据库应用开发中的常见需求。Hibernate 的 Criteria API 以其强大和灵活的特点,允许开发者以面向对象的方式构建查询逻辑,同时具备 SQL 的表达力。本文将介绍 Criteria API 的基本用法并通过示例展示其实际应用。此 API 通过 API 构建查询条件而非直接编写查询语句,提高了代码的可读性和安全性。无论是简单的条件过滤还是复杂的分页和连接查询,Criteria API 均能胜任,有助于提升开发效率和应用的健壮性。
20 0
|
22天前
|
JSON API 开发者
Lazada商品评论数据接口的API密钥如何获取?
通过Lazada商品评论接口,开发者可获取评论内容、日期、买家昵称、商品属性、评分及图片/视频等信息。首先需注册成为Lazada开放平台开发者并获取API密钥,随后根据所需数据选择合适接口及参数,构造并发送HTTP请求至Lazada服务器,最后解析返回的JSON数据提取评论详情。使用时应注意API调用限制,并遵循Lazada的规定。
|
27天前
|
人工智能 自然语言处理 API
云栖发布:通义听悟AI能力再进化,开放API接口
云栖发布:通义听悟AI能力再进化,开放API接口
|
2月前
|
人工智能 自然语言处理 算法
开放式API在AI应用开发中的革命性角色
【7月更文第21天】随着人工智能技术的飞速发展,开放式API(Application Programming Interfaces)正逐渐成为连接技术与创新、加速AI应用开发的关键桥梁。这些API允许开发者轻松访问预先训练好的模型和复杂算法,无需从零开始构建基础架构,从而极大地降低了AI应用的开发门槛,促进了技术民主化。本文将探讨开放式API如何在AI领域引发革命性变化,通过实际案例和代码示例展现其强大功能。
61 2
|
1月前
|
JSON API 开发者
小红书 API 接口最新指南:笔记详情数据接口的接入与使用
小红书笔记详情数据接口由其开放平台提供,让开发者通过API批量获取笔记的全面信息,如标题、内容、图片及互动数据等。可用于数据分析、洞察用户行为与内容趋势,支持精准的内容创作与营销策略。使用前需注册认证并获取API密钥;依据官方文档构建与发送请求;处理JSON响应数据。注意遵守调用频率限制、保持数据更新及确保数据使用的合规性。
|
2月前
|
数据可视化 安全 API
数据库开放权限风险高,API非唯一选择:DataV为您开启安全高效的数据可视化之旅
良好的用户体验:DataV注重用户体验设计,提供了丰富的交互效果和动画效果,使得数据可视化大屏更加生动、吸引人。这有助于提升用户的参与度和满意度,促进数据的广泛应用
|
2月前
|
供应链 搜索推荐 数据挖掘
微店商品详情数据接口(micro.item_get)丨微店API接口指南
`micro.item_get`接口是微店API的关键工具,让开发者能获取商品详情,包括名称、价格、描述、图片、销量和SKU,用于电商同步、数据分析、个性化营销和提升购物体验。此接口加速了数据驱动的决策和业务优化。