好用的云函数!后端低代码接口开发,零基础编写API接口
xsobi 2024-12-23 14:20 1 浏览
前言
在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。
不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过云函数,即可实现后端低代码接口开发,做到零基础编写API接口。
云函数优势
云函数具有以下特点和优势:
1、无需管理服务器即可运行移动后端代码
2、可在线接口编程,自动生成云接口和接口文档
3、代码简单,功能强大,一行代码就可以实现数据库、短信发送等功能
4、可以开发自己的接口,实现自己的业务逻辑
5、可以提供多个客户端接入使用
6、配套完整的接口流量统计、分析、接口鉴权和开关控制
果创云MyAPI云函数架构
果创云提供的MyAPI云函数,其架构如下:
整体架构分为四层:
第一层:MyAPI我的接口 提供给客户端调用的云接口。
第二层:云函数。 由开发者自己编写,可在线接口编程,编写云函数,生成接口。
第三层:果创云聚合服务 由果创云提供,封装了常用的服务,可进行数据库、CURL、短信等服务操作。
第四层:云服务 由第三方提供的云服务,包括但不限于自建数据库、云数据库、企业邮箱、短信接口、开放平台接口和内部接口等。
云函数示例
果创云的云函数是基于PHP语言,PHP是一门非常容易上手的后端语言。云函数默认示例如下:
function ($params, $di) {
$result = array('err_code' => 0, 'err_msg' => '');
// TODO:在这里编写你的具体业务
$result['content'] = 'Hello YesApi';
return $result; // 返回接口结果
}
云函数参数说明:
$params,类型:数组,为当前客户端的接口参数,由开发者配置的接口参数和客户端动态传递的参数而定,例如:array('uuid' => null, 'left' => 1, 'right' => 2)
$di,类型:数组,为DI容器,里面封装并提供了众多强大而实用的PHP服务,例如数据库操作等,对于后端编程有非常大的帮助,后面会详细介绍。
编写接口时,设置接口参数、接口返回、云函数代码等,如(局部截图):
保存后,你可以看到类似这样的在线接口文档(部分截图):
一键生成云函数,生成CURD数据API接口
在准备好数据库模型后,点击【生成CURD数据接口】
选择相应的数据模型,以及API功能:
可以生成的API功能有:
创建新数据
删除一条数据
获取数据详情
更新一条数据
获取数据列表
生成后,即可获得属于你自己的API接口。
还要以根据自己的业务需要,调整云函数的代码,实现自己的业务逻辑。
function ($params, $di) {
$result = array('err_code' => 0, 'err_msg' => '');
$data = array();
$data['title'] = $this->title;
$data['content'] = $this->content;
$data['post_time'] = $this->post_time;
$data['view_times'] = $this->view_times;
$data['state'] = $this->state;
$data['zhaiyao'] = $this->zhaiyao;
$data['tag'] = $this->tag;
$data['cate_id'] = $this->cate_id;
$notorm = $di->db->article_tbl;
$notorm->insert($data);
$result['id'] = $notorm->insert_id();
return $result;
}
一键生成云函数,生成常用接口
常用的云函数,是指一些常用的功能操作。例如:
- F1-1、两数相加
- F2-1、CURL-GET请求
- F2-2、CURl-POST请求
- F3-1、日志
- F4-1、发送邮件
- F5-1、安全-加密解密
- F6-1、拼音
- F7-1、发送短信
- F8-1、站内消息通知
- F9-1、会员
- F10-1、登录会话与凭证
- F11、实用函数
- F12、内部调用小白接口
- F13、编写回调接口API
当你需要生成这类API接口时,需要做的只是选择你要的API接口功能,然后果创云会自动为你生成相应的API接口代码。例如,对于邮件发送。
function ($params, $di) {
$result = array('err_code' => 0, 'err_msg' => '');
// 第一个参数是收件人邮箱,第二个参数是邮件标题,第三个参数是邮件正文内容(HTML格式)
$result['is_send'] = $di['email']->send('helper@yesapi.cn', '邮件标题', '邮件内容');
return $result;
}
生成的云函数代码如上所示。再稍微调整里面的参数,包括收件人、邮件标题、邮件内容,就可以生成自己的云函数API接口了。
生成发送邮件API接口的接口效果如下,完整的接口文档显示。
一键生成云函数,生成ODM贴牌接口
果创云的小白接口,默认提供了500+款API接口。如果需要对500多款进行二次开发,可以生成ODM贴牌接口,把默认的API接口调整成自己需要的API接口。
例如,针对默认的Hello World小白接口,二次开发后的云函数,生成的源代码如下:
function ($params, $di) {
$result = array('err_code' => 0, 'err_msg' => '');
// TODO:在这里实现你的业务
$odmRs = $di['odm']->call('App.Hello.World', $params);
$result = array_merge($result, $odmRs);
return $result;
}
可根据自己的需求,调整或去掉不必要的接口参数,或者修改成自己需要的接口标题和接口功能介绍。
手动编写云函数
如果你已经熟悉云函数,可以自己编写云函数,最大化发挥编程的强大和灵活性。
例如,如果需要统计文章数据库表中的总数,只需要编写:
function ($params,$di) {
$result = array('err_code' => 0, 'err_msg' => '');
$result['count'] = $di['db']->article_tbl->count('id'); // 模型名称后面须带上_tbl后缀
return $result;
}
就可以生成API接口:取文章总数 SVIP.Sdogstar_MyApi.AArticleTotal
API接口调用和测试效果:
得到接口结果:
原来接口结果:
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"count": 24
},
"msg": "V3.1.0 YesApi SVIP.Sdogstar_MyApi.AArticleTotal"
}
DI服务一览
果创云函数,在内部提供了以下DI服务,可以使用这些DI服务,完成绝大部分的编程功能。
- $di['db'] 我的模型数据库 可进行CURD数据库操作,针对单表
- $di['db_super'] 直连数据库 可进行CURD数据库操作,针对单表,使用前需要进行MySQL数据库直连服务配置
- $di['logger'] 日志服务 记录各种日志
- $di['email'] 邮箱服务 发送邮件,使用前需要进行邮箱服务配置
- $di['pinyin'] 拼音服务 将汉字转成拼音
- $di['curl'] CURL服务 请求远程接口,仅支持80端口
- $di['crypt'] 安全服务 对数据进行加密和解密
- $di['sms_aliyun'] 阿里云短信 通过阿里云服务发送短信,使用前需要进行阿里云服务配置
- $di['odm'] ODM内部接口调用 内部调用小白接口,接口签名:call($service, $params)
维护我的云函数API接口
在果创云后台,可以添加自己的云函数API接口,也可以进行修改接口API代码,以及发布API接口,查看自己的接口列表。
查看我的云函数API接口
在前台,当你的云函数审核并发布后,即可查看到你的API接口,然后就可以进行使用和调用访问了。注意,只有自己才可以调用自己的API接口。
点击进去,可以查看到自己的API接口文档,接口文档是实时自动生成的。
在线API接口编程
更多技术介绍,请查看果创云文档:
云函数MyAPI(在线接口编程)
https://www.yesapi.cn/docs/#/v2.0/function
- 上一篇:快速上手:Windows 平台上 cURL 命令的使用方法
- 已经是最后一篇了
相关推荐
- 好用的云函数!后端低代码接口开发,零基础编写API接口
-
前言在开发项目过程中,经常需要用到API接口,实现对数据库的CURD等操作。不管你是专业的PHP开发工程师,还是客户端开发工程师,或者是不懂编程但懂得数据库SQL查询,又或者是完全不太懂技术的人,通过...
- 快速上手:Windows 平台上 cURL 命令的使用方法
-
在工作流程中,为了快速验证API接口有效性,团队成员经常转向直接执行cURL命令的方法。这种做法不仅节省时间,而且促进了团队效率的提升。对于使用Windows系统的用户来说,这里有一套详细...
- 使用 Golang net/http 包:基础入门与实战
-
简介Go的net/http包是构建HTTP服务的核心库,功能强大且易于使用。它提供了基本的HTTP客户端和服务端支持,可以快速构建RESTAPI、Web应用等服务。本文将介绍ne...
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
-
你只需编写简单的云函数,就可以实现自己的业务逻辑,发布后就可以生成自己的接口给客户端调用。果创云支持对云函数进行在线接口编程,进入开放平台我的接口-在线接口编程,设计一个新接口,设计和配置好接口参...
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:iN在之前和大家说过,在iN的家里是没有墙面开关的。...
- window使用curl命令的注意事项 curl命令用法
-
cmd-使用curl命令的注意点前言最近在cmd中使用curl命令来测试restapi,发现有不少问题,这里记录一下。在cmd中使用curl命令的注意事项json不能由单引号包括起来json...
- Linux 系统curl命令使用详解 linuxctrl
-
curl是一个强大的命令行工具,用于在Linux系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP等,用于下载或上传数据,执行Web请求等。curl命令的常见用法和解...
- Tornado 入门:初学者指南 tornados
-
Tornado是一个功能强大的PythonWeb框架和异步网络库。它最初是为了处理实时Web服务中的数千个同时连接而开发的。它独特的Web服务器和框架功能组合使其成为开发高性能Web...
- PHP Curl的简单使用 php curl formdata
-
本文写给刚入PHP坑不久的新手们,作为工具文档,方便用时查阅。CURL是一个非常强大的开源库,它支持很多种协议,例如,HTTP、HTTPS、FTP、TELENT等。日常开发中,我们经常会需要用到cur...
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
-
本章涵盖使用Actix提供静态网页...
- 我给 Apache 顶级项目提了个 Bug apache顶级项目有哪些
-
这篇文章记录了给Apache顶级项目-分库分表中间件ShardingSphere提交Bug的历程。说实话,这是一次比较曲折的Bug跟踪之旅。10月28日,我们在GitHub上提...
- linux文件下载、服务器交互(curl)
-
基础环境curl命令描述...
- curl简单使用 curl sh
-
1.curl--help#查看关键字2.curl-A“(添加user-agent<name>SendUser-Agent<name>toserver)”...
- 常用linux命令:curl 常用linux命令大全
-
//获取网页内容//不加任何选项使用curl时,默认会发送GET请求来获取内容到标准输出$curlhttp://www.baidu.com//输出<!DOCTYPEh...
- 三十七,Web渗透提高班之hack the box在线靶场注册及入门知识
-
一.注册hacktheboxHackTheBox是一个在线平台,允许测试您的渗透技能和代码,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,并且模拟真实场景,其风格更倾向于CT...
- 一周热门
- 最近发表
-
- 好用的云函数!后端低代码接口开发,零基础编写API接口
- 快速上手:Windows 平台上 cURL 命令的使用方法
- 使用 Golang net/http 包:基础入门与实战
- #小白接口# 使用云函数,人人都能编写和发布自己的API接口
- 极度精神分裂:我家没有墙面开关,但我虚拟出来了一系列开关
- window使用curl命令的注意事项 curl命令用法
- Linux 系统curl命令使用详解 linuxctrl
- Tornado 入门:初学者指南 tornados
- PHP Curl的简单使用 php curl formdata
- Rust 服务器、服务和应用程序:7 Rust 中的服务器端 Web 应用简介
- 标签列表
-
- grid 设置 (58)
- 移位运算 (48)
- not specified (45)
- patch补丁 (31)
- strcat (25)
- 导航栏 (58)
- context xml (46)
- scroll (43)
- element style (30)
- dedecms模版 (53)
- vs打不开 (29)
- nmap (30)
- webgl开发 (24)
- parse (24)
- c 视频教程下载 (33)
- paddleocr (28)
- listview排序 (33)
- firebug 使用 (31)
- transactionmanager (30)
- characterencodingfilter (33)
- getmonth (34)
- commandtimeout (30)
- hibernate教程 (31)
- label换行 (33)
- curlpost (31)