首页 每日新资讯 DreamFactory是低代码平台,如何快速搭建API服务

DreamFactory是低代码平台,如何快速搭建API服务

作者:每日新资讯
发布时间: 浏览量:6 0

DreamFactory信息介绍

DreamFactory是个挺有意思的低代码平台,说白了就是帮你不用写太多代码就能搞定API服务的工具,它最早在2014年就冒出来了,现在已经更新了好几代,背后有个专门的团队在维护,不管你是程序员还是刚接触开发的新手,只要想把数据库、文件系统或者第三方服务变成能调用的API,它都能搭把手,我第一次听说它的时候,还以为是那种特复杂的专业工具,结果上手试了试,界面比想象中友好太多,像在搭积木一样拼API。

这个平台最牛的点在于“自动生成”,你不用一行行敲代码定义接口格式、处理数据转换,它直接读取你的数据源结构,唰唰就把RESTful API给整出来了,支持的数据源也多,常见的MySQL、PostgreSQL、MongoDB这些数据库不用说,连Excel表格、AWS S3存储、Salesforce这些第三方服务都能连,之前帮朋友的小公司做系统集成,他们又有老的SQL Server数据库,又用着新的云存储,本来头都大了,用DreamFactory连了一下,当天就把数据互通的API跑起来了。

DreamFactory是低代码平台,如何快速搭建API服务

DreamFactory核心功能有哪些

自动API生成是DreamFactory的看家本领,你把数据源信息填进去,比如数据库地址、用户名密码,它就会分析表结构、字段类型,自动生成增删改查的API接口,连API文档都帮你生成好了,参数说明、返回格式清清楚楚,省去了写文档的功夫,我上次给一个电商系统搭API,连了个MySQL数据库,里面有商品表、订单表,点一下“生成API”,不到一分钟,所有接口就躺在列表里了,当时真觉得这工具有点东西。

多数据源兼容这块它做得很全面,关系型数据库、NoSQL数据库、文件存储、CRM系统、物联网设备数据,只要你能想到的数据源,基本都能找到对应的连接器,我试过连本地的SQLite数据库,也试过连云端的Firebase,配置步骤都差不多,填几个关键信息就行,最惊喜的是它还支持自定义数据源,如果你有特别冷门的系统,自己写个简单的适配器,也能让它生成API。

安全认证机制也不含糊,支持OAuth2.0、JWT、API密钥这些主流的认证方式,还能设置角色权限,比如哪些用户能看数据、哪些能改数据,之前帮学校做项目,需要区分老师和学生的API权限,在DreamFactory里建了两个角色,分别配了不同的接口访问权限,测试的时候学生账号果然只能读不能改,安全感直接拉满。

可视化配置界面对新手太友好了,所有操作都在网页上点点鼠标就能完成,不用记命令行或者配置文件格式,数据源管理、API规则设置、权限分配,每个功能模块都有清晰的引导,我带过一个零基础的实习生,教他用DreamFactory搭API,半小时他就自己连了个Excel表格生成了接口,现在还天天跟我吹这工具多好用。

DreamFactory的产品定价

DreamFactory分好几个版本,不同需求的人能选到合适的。开源社区版是完全免费的,你可以从官网下载源码自己部署,功能上基本够用,自动生成API、多数据源支持、基础安全认证都有,适合个人开发者或者小团队做测试、小型项目用,我自己练手的时候就用的社区版,在本地服务器上搭起来,跑了好几个demo项目,一分钱没花。

商业版就针对企业用户了,具体价格得联系他们销售谈,因为会根据你需要的功能模块、支持服务、用户数量来定,商业版比社区版多了些高级功能,比如SSO单点登录、高级监控告警、专属技术支持这些,上次问过一个用商业版的朋友,他们公司一百多人用,每年服务费大概几万块,比起雇人从零开发API,成本还是低不少的。

另外还有云托管版,直接在他们的云服务器上用,不用自己操心部署和维护,按月或者按年付费,具体价格官网没明说,得提交表单咨询,适合不想管服务器运维的团队,开通账号就能用,省了不少功夫,目前官方暂无明确的统一定价,毕竟不同版本和配置差异太大,想知道具体多少钱,最好还是去官网填个需求表,让他们给报价。

这些场景用DreamFactory超合适

企业数据整合场景简直是为它量身定做的,很多公司内部系统一大堆,财务用Oracle,销售用Salesforce,库存用Excel,数据各存各的,想做个报表或者数据分析得手动导来导去,用DreamFactory把这些数据源都连起来,生成统一的API,前端系统直接调用API拿数据,实时更新,再也不用人工汇总了,我之前帮一家贸易公司做过,他们光数据库就有三个,用DreamFactory搭了个数据中台API,现在财务做报表直接连API,效率提高了60%。

快速原型开发也特别爽,产品经理刚出需求,开发还没来得及写后端接口,前端想先做页面怎么办?用DreamFactory连个测试数据库,两分钟生成一套API,前端直接调用,边调边改,等后端接口开发好了,直接切换数据源就行,不用改前端代码,上次我们团队做一个APP原型,后端还在设计数据库,我用DreamFactory搭了临时API,前端三天就把界面和交互跑通了,产品经理看了直点头。

legacy系统API化是它的一大强项,很多老系统用的还是十几年前的技术,没有API接口,想跟新系统对接简直头疼,DreamFactory能直接连这些老系统的数据库或者文件,生成现代化的REST API,不用动老系统的代码,安全又高效,我老家有个工厂,他们的生产管理系统还是用的VB写的桌面软件,数据存在Access里,用DreamFactory连了Access,生成API后,新的手机监控APP就能实时看到生产数据了,老厂长都夸这工具“接地气”。

物联网设备数据采集也能用,物联网设备采集到的数据通常存在各种传感器网关或者边缘设备里,想传到云端分析,需要API接口,DreamFactory可以部署在边缘节点,连设备数据库,生成API后,云端系统直接调用拉数据,之前帮一个农业项目做过,大棚里的温湿度传感器数据存在本地的MySQL里,DreamFactory生成API后,阿里云平台每隔10分钟调用一次,实时监控大棚环境,特别方便。

DreamFactory使用注意事项

数据源连接前一定要测试连接,别填完地址密码就直接点生成API,最好先点“测试连接”按钮,看看能不能连上数据源,有次我连一个远程PostgreSQL数据库,填的时候少输了个端口号,没测试就生成API,结果调用一直报错,排查了半天才发现是连接问题,浪费不少时间。

权限配置要最小权限原则,给API设置访问权限的时候,别图省事给个管理员权限,谁都能改数据,根据用户角色分配权限,比如只读用户就只给GET接口权限,写操作只给特定管理员,之前见过一个项目,因为权限没配好,测试账号都能删生产数据,差点出大事,幸好DreamFactory有操作日志,查到是谁删的才恢复回来。

定期备份配置很重要,DreamFactory的配置信息,比如数据源配置、API规则、权限设置这些,最好定期导出备份,万一服务器挂了或者配置被误删,直接导入备份就能恢复,我一般每周五下班前导一次配置文件,存在云端硬盘里,有备无患。

版本更新要先测试再升级,如果用的是社区版,看到有新版本别直接在生产环境升级,先在测试环境装新版本,把现有项目跑一遍,看看有没有兼容性问题,上次社区版更新,有个API参数格式变了,我没测试就升级生产环境,结果几个接口调用失败,折腾了好久才回滚。

和同类工具比DreamFactory有啥不一样

MuleSoft Anypoint比,DreamFactory优势在轻量化和成本,MuleSoft功能强大但太复杂,配置一个API得拖一堆组件,学习成本高,而且价格死贵,小企业根本用不起,DreamFactory就简单多了,核心功能聚焦在API生成,界面直观,上手快,社区版还免费,小团队和个人开发者首选,上次帮一个创业公司选型,对比下来他们果断选了DreamFactory,说MuleSoft看着就头大。

Postman比,DreamFactory强在API生成和管理,Postman主要是用来测试API的,虽然也能做API文档和Mock服务,但不能直接连数据源生成真实可用的API,DreamFactory是从数据源到API全流程搞定,生成的API能直接用在生产环境,不是Mock数据,我平时用Postman测API,但生成API肯定找DreamFactory,分工不同。

APIFairy比,DreamFactory胜在多数据源和低代码,APIFairy是PHP的一个库,需要你写代码定义模型和接口,虽然比纯手写快,但还是得懂编程,DreamFactory完全不用写代码,点点鼠标就能连各种数据源生成API,对非专业开发者太友好了,我一个不懂PHP的朋友,用APIFairy搞了两天没弄明白,换DreamFactory半小时就搞定了。

Swagger比,DreamFactory多了数据处理能力,Swagger主要是用来设计和文档化API的,你得自己定义API结构,它帮你生成文档和测试界面,DreamFactory不仅能生成API文档,还能直接处理数据请求,从数据源读写数据,是个完整的API服务平台,简单说,Swagger是画图纸的,DreamFactory是直接盖房子的。

快速搭建API服务教程

第一步先下载安装,如果用社区版,去官网下载源码包,解压到服务器上,按照文档配好环境,比如PHP、MySQL这些(它是PHP写的),我用的是Linux服务器,跟着教程一步步装依赖、改配置文件,大概半小时就装好了,不想自己部署的话,可以用他们的云托管版,注册账号就能进后台,更方便。

第二步添加数据源,登录后台后,点左边“Services”菜单,再点“Create”按钮,选你要连的数据源类型,比如MySQL,填数据源信息:名字随便起(my_mysql”),主机地址(本地就填localhost),端口号(MySQL默认3306),数据库名,用户名,密码,填完点“Save”,再点“Test Connection”,显示“Success”就说明连上了,我第一次连MongoDB的时候,密码里有特殊字符,一直连不上,后来把密码用引号括起来才好。

第三步生成API,数据源添加成功后,点数据源名字进去,再点“Generate API”按钮,它会自动扫描数据库里的表,你可以选要生成哪些表的API,也可以全选,生成的时候还能设置API路径前缀,/api/v1”,方便管理版本,点“Generate”后,等几秒钟,API就生成好了,列表里能看到所有接口,GET、POST、PUT、DELETE都有。

第四步配置权限,默认生成的API谁都能调用,不安全,点左边“Roles”菜单,新建一个角色,read_only”,然后点“Add Permission”,选刚才生成的API服务,勾选“GET”权限,其他权限取消,再点“Users”菜单,新建用户,把这个角色分配给用户,生成API密钥,调用API的时候,在请求头里带上这个密钥,就能访问了,我给测试环境配了个只读角色,给开发环境配了个读写角色,权限分得明明白白。

第五步测试API,用Postman或者curl工具测试一下,比如调用GET接口“http://你的域名/api/v1/my_mysql/表名”,请求头带上“X-API-Key: 你的密钥”,如果返回数据库里的数据,就说明成功了,我一般会先调用GET接口看看能不能取到数据,再调用POST接口新增一条数据,确认增删改查都没问题才交给前端用。

常见问题解答

DreamFactory支持哪些数据库啊

可多了!常见的MySQL、PostgreSQL、SQL Server、Oracle这些关系型数据库肯定支持,MongoDB、CouchDB这种NoSQL数据库也能连,甚至连Excel表格、CSV文件、SQLite这种轻量级数据源都能搞定,我上次还试过连阿里云的RDS数据库,配置一下地址和端口,秒连成功,兼容性真的没话说,基本你能想到的数据库它都认识。

用DreamFactory需要会编程吗

不用啊!它是低代码平台,大部分操作都靠鼠标点点点,添加数据源、生成API、配置权限,全程在网页界面操作,不用写一行代码,我表妹是学设计的,一点编程基础没有,我教她用DreamFactory连Excel生成API,她跟着步骤走,不到一小时就搞定了,还兴奋地说比做PPT简单,当然如果你想玩高级功能,比如自定义插件,那可能需要懂点PHP,但基础用法真不用。

DreamFactory社区版和商业版有啥区别

社区版免费,功能够用,自动生成API、多数据源支持、基础安全认证都有,适合个人和小团队玩,商业版就厉害了,多了SSO单点登录、高级监控、专属技术支持,还有一些企业级功能,比如API限流、审计日志这些,上次问一个用商业版的老哥,他说最香的是专属支持,遇到问题随时打电话,工程师半小时就给解决了,社区版就得自己逛论坛找答案,着急用的时候确实有点慌。

DreamFactory能生成GraphQL API吗

目前主要生成的是RESTful API,GraphQL支持还在开发中,社区版和商业版暂时都没有,不过我觉得RESTful API已经够用了,大部分项目调用起来也方便,如果你的项目非要用GraphQL,可能得等等后续版本,或者先用它生成REST API,再用其他工具转一下,反正我做的几个项目都是用REST API,没遇到啥问题,简单直接。

DreamFactory部署麻烦吗

不麻烦!社区版虽然要自己部署,但跟着官方教程走很简单,官网有详细的安装步骤,Linux、Windows、Docker都支持,我用Docker部署,就一行命令“docker-compose up -d”,自动拉镜像、配环境,十分钟就跑起来了,怕麻烦的话直接用云托管版,注册账号、选配置,开通就能用,连服务器都不用管,简直是懒人福音,上次帮一个电脑小白部署,用Docker方式,远程指导他一步步操作,半小时搞定,他还说没想到这么简单。

欢迎 发表评论:

请填写验证码

评论列表

暂无评论,快抢沙发吧~