草庐IT

用 API Factory 产品生成 API 文档

eolink 2023-03-28 原文

什么是 API Factory ?

API Factory(API 快速生成工厂) 能够帮助我们直接从各种常见关系型数据库、NoSQL 数据库、大数据库中间件中生成统一格式的 HTTP Restful API。

通过 API Factory,我们可以通过编写 SQL 脚本或通过 UI 方式直接创建一个高性能的数据库操作 API 。

API Factory 常见的使用场景有哪些?

  • 快速创建数据操作 API

针对较简单的前端业务,可以根据数据库快速创建数据操作 API (增删改查),直接将 API 提供给前端使用,不需要额外搭建后端。

  • 代替业务数据库操作 API

针对一般项目内的数据库操作,可以替代业务的数据库操作API,让业务专注于更复杂的业务逻辑。

  • 无需关注数据库类型调用 API

作为数据平台,关联底层数据库以及上层业务逻辑。所有的上层业务可以通过该平台调用 API 而不需要关注数据库的类型和代码实现。

如何利用 API Factory 产品生成 API 文档?

创建项目

进入项目管理页面,点击新建项目按钮:

在弹窗中选择数据源类型:

并且输入项目的名称、标识、访问前缀等信息,点击保存即可。

项目信息栏各项解释为:

  • 项目唯一标识

仅允许英文、数字、下划线。项目唯一标识用于区别其他您的项目,并且在对接其他系统时(如日志系统)以该名称作为标志。

  • 项目内 API 请求地址前缀

指的是该项目内所有 API 访问时都需要加上该请求前缀,仅支持一级路经,比如支持 /a,但是不支持 /a/b,如果有区分多级路径的需求,建议使用下划线进行分隔,如 /a_b。

通过界面创建 API

在创建 API 之前,需要先创建项目访问的数据源配置,有关教程可以自行查看学习:数据源管理

但与通过语句创建 API 不同的是,在 UI 模式中,系统会自动读取相应数据源的数据结构,我们可以在表格中选取 需要筛选的字段判断条件 等。

需要注意的是,并非所有类型的数据源都有通过 UI 模式创建 API 的功能,该功能仅针对关系型数据库,对于无法准确获得数据结构的 NoSQL 数据库(如 MongoDB)则不支持该功能。

进入项目内的 API 管理页面,点击新建 API 按钮的下拉菜单,选择通过 UI 创建 API:

进入 API 编辑页面后,输入 API 的相关信息并点击保存即可。

  • API 唯一标识

用于在对接第三方日志系统时使用,系统默认会自动生成一个唯一标识,如无需要可不修改。

  • API Path

是 API 访问的路径,实际访问 API 时的地址为:域名( IP+端口号)+ 项目请求地址前缀 + API Path。

例如:

1.1.1.1:8088/project_path/api_path


以上,本文通过介绍什么是 API Factory 产品API Factory 产品的使用场景 以及 如何通过 API Factory 产品根据数据库生成 API 文档,三个方面来阐述如何合理利用 API Factory 来帮助我们节省大量的编写基础数据操作 API 的时间和管理成本。

通过使用好用的 API Factory 产品可以帮助我们书写文档事半功倍。

这里我推荐演示工具 Eolink,它能设计、管理 API ,一键生成 API 文档,除此之外还能直接打通接口测试,一键发起 API 测试,方便快捷且功能强大。有兴趣可自行试用:www.eolink.com

有关用 API Factory 产品生成 API 文档的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  3. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  4. ruby-on-rails - ActionController::RoutingError: 未初始化常量 Api::V1::ApiController - 2

    我有用于控制用户任务的Rails5API项目,我有以下错误,但并非总是针对相同的Controller和路由。ActionController::RoutingError:uninitializedconstantApi::V1::ApiController我向您描述了一些我的项目,以更详细地解释错误。应用结构路线scopemodule:'api'donamespace:v1do#=>Loginroutesscopemodule:'login'domatch'login',to:'sessions#login',as:'login',via::postend#=>Teamroutessc

  5. ruby-on-rails - Ruby on Rails - 为文本区域和图片生成列 - 2

    我是Rails的新手,所以请原谅简单的问题。我正在为一家公司创建一个网站。那家公司想在网站上展示它的客户。我想让客户自己管理这个。我正在为“客户”生成一个表格,我想要的三列是:公司名称、公司描述和Logo。对于名称,我使用的是name:string但不确定如何在脚本/生成脚手架终端命令中最好地创建描述列(因为我打算将其设置为文本区域)和图片。我怀疑描述(我想成为一个文本区域)应该仍然是描述:字符串,然后以实际形式进行调整。不确定如何处理图片字段。那么……说来话长:我在脚手架命令中输入什么来生成描述和图片列? 最佳答案 对于“文本”数

  6. ruby-on-rails - 如何生成传递一些自定义参数的 `link_to` URL? - 2

    我正在使用RubyonRails3.0.9,我想生成一个传递一些自定义参数的link_toURL。也就是说,有一个articles_path(www.my_web_site_name.com/articles)我想生成如下内容:link_to'Samplelinktitle',...#HereIshouldimplementthecode#=>'http://www.my_web_site_name.com/articles?param1=value1¶m2=value2&...我如何编写link_to语句“alàRubyonRailsWay”以实现该目的?如果我想通过传递一些

  7. ruby-on-rails - 如何在 Rails 3 中创建自定义脚手架生成器? - 2

    有这些railscast。http://railscasts.com/episodes/218-making-generators-in-rails-3有了这个,你就会知道如何创建样式表和脚手架生成器。http://railscasts.com/episodes/216-generators-in-rails-3通过这个,您可以了解如何添加一些文件来修改脚手架View。我想把两者结合起来。我想创建一个生成器,它也可以创建脚手架View。有点像RyanBates漂亮的生成器或web_app_themegem(https://github.com/pilu/web-app-theme)。我

  8. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  9. Matlab imread()读到了什么 (浅显 当复习文档了) - 2

    matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1

  10. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

随机推荐