欢迎学习《基于Coldbox (Merapi) 服务器端RESTful API构建开发视频教程》课程,你将学习使用 Coldbox(Coldbox 6.5、Lucee 5.3、MySQL 5.7)构建现代ColdFusion应用程序。
我们将构建一个 Coldbox REST API并使用 TestBox 模块对其进行测试。我们将通过向我们的 API 处理程序添加注释来记录此 API。然后,我们将使用 Coldbox cbSwagger 模块在 Swagger 编辑器中生成我们的 API 文档。最后,我们将使用 Postman 输入数据,以模拟来自对开发服务器的调用的 API 响应。
但是请注意,详细解释 Swagger Editor 和 Postman 工具不在本课程的范围内。另请注意,本课程不会讨论使用 Coldbox cbSecurity 和 JWT(Json Web 令牌)的 API 安全问题。最后同样重要的是,我们不会构建 JavaScript 前端并将其连接到这个服务器端 API。
MP4 | 视频:h264, 1280×720 | 音频:AAC,44.1 KHz,2 Ch
类型:eLearning | 语言:英语| 时长:25 节课(3h 6m)| 大小:1.89 GB
你会学到什么
- 使用 Coldbox 框架构建REST API
- 使用 Coldbox 迁移 (cfmigrations) 组件创建数据库架构
- 编写模型组件类并使用 Testbox BDD 模块对其进行测试
- 编写 API 处理程序并使用 Testbox BDD 模块对其进行测试
- 通过向我们的每个处理程序的操作添加注释来记录 API
- 使用 Coldbox cbSwagger 模块生成我们的 API 文档
- 使用 Open API 编辑器(即 Swagger 编辑器)创建一个 OpenAPI yaml 文件
- 在 POSTMAN 中导入生成的 OpenAPI yaml 文件
- 在 POSTMAN 中使用数据输入测试 API
- 将 POSTMAN 中的 API 导出为集合文件
要求
- 本课程将在 Mac 上运行,所有说明将适用于 Mac 环境
- 必须安装 MySQL 5.7 数据库和连接到它的客户端实用程序
- 无需具备 Coldbox 或 CFML 编码方面的知识或经验
描述
我们首先将表添加到名为 Merapi 的 MySQL 数据库模式(共 4 个表)中,在这些表之间建立关系,并在 Coldbox cfmigrations 模块的帮助下使用种子数据填充我们的表。此数据库模式管理有关国家、货币、城市和机场的数据。cfmigrations 模块已经在我之前的两篇教程中详细介绍过,但将在本教程的开头再次介绍并记录在随附的指南中。
接下来,我们将构建我们的模型并使用表示数据库模式的 XML 模式文件将我们的实体类属性名称映射到我们的表列名称。我们还将有一个 XML Loader 文件来读取 XML 模式,从而实现一个简单的自定义对象关系映射器。这种方法是我们在另一个名为 Tamarind v1 的课程中演示的替代方法,在该课程中,我们使用 Quick ORM 将实体对象属性映射到表列并将实体加载到内存中。因此,在本课程中,不涉及 ORM。
我们还通过创建 BaseService 父组件来利用对象继承。与 DAO(数据访问对象)一样,该组件提供了我们对 READ、DELETE 和记录过滤方法的查询的抽象。这样,就无需在子组件中再次编写这些查询。我们只需从 BaseService 父组件中使用 Super 关键字调用相关方法即可。
为了确保我们的模型实体和服务功能齐全,我们将使用 Testbox 模块来编写单元测试。在完成我们的模型实体和服务组件并确保我们所有的单元测试通过之后,我们将专注于构建 API 本身。API 将处理两种类型的事情:API 处理程序和 API 文档。
处理程序由操作(索引、显示、创建、更新和删除)组成。在编写处理程序时,我们还将编写相应的集成测试,以保证我们的处理程序工作正常。集成测试也将使用 Testbox 编写。
API 文档由 json 文件组成,例如响应、requestBody、参数和示例,这些文件基于 API 响应(例如 2xx(成功)、4xx(未找到或验证错误)或 5xx(服务器错误))应用于每个处理程序的操作。指向 /apidocs 文件夹中的每个 json 文件的指针将作为注释添加到处理程序的操作代码中。多亏了这一点,我们的 API 文档将可以立即导出到 Postman 或 OpenAPI (Swagger) 等工具。
完成此操作后,我们将利用 Coldbox cbswagger 模块在我们点击 cbswagger 的开发服务器 url 时生成输出。在我们的 Swagger 编辑器中复制和粘贴这个 cbwagger 输出不仅会提供我们 API 的丰富多彩且整洁的文档,还会生成一个 openAPI.yaml 文件,然后我们可以将其导入 Postman。Postman 是一个工具,它允许使用真实数据进一步测试我们的 API 服务器。
在课程结束时,您应该对如何使用 Coldbox 框架构建服务器端 REST API 有了扎实而实用的理解。
本课程适用于谁
- 软件开发人员、顾问和企业高级用户
- 遗留 ColdFusion 代码的开发人员和维护人员
- 开发人员认识到采用开源技术的价值
- 愿意学习和探索替代服务器端技术的开发人员
关于ColdFusion
Adobe ColdFusion(直译:冷聚变),是一个动态Web服务器,其CFML(ColdFusion Markup Language)是一种程序设计语言,类似现在的JSP里的JSTL(JSP Standard Tag Lib),从1995年开始开发,其设计思想被一些人认为非常先进,被一些语言所借鉴。
Coldfusion 最早是由 Allaire 公司开发的一种应用服务器平台,其运行的 CFML(ColdFusion Markup Language)针对Web应用的一种脚本语言。文件以*.cfm为文件名,在ColdFusion专用的应用服务器环境下运行。在 Allaire 公司被 Macromedia 公司收购以后,推出了 Macromedia ColdFusion 5.0,类似于其他的应用程序语言,cfm文件被编译器翻译为对应的 c++ 语言程序,然后运行并向浏览器返回结果。 虽然 .cfc 和 custom tag 具有类似的重用性,但 cfc 提供了更加灵活的调用方式,例如 webservice 方式的调用支持。
关于Coldbox
ColdBox 是一个事件驱动的、惯例优于配置的 ColdFusion 开发平台,提供了大量可重用的代码和工具。ColdBox 是模块化的,适应各种典型ColdFusion 应用的开发。
ColdBox Hierarchical MVC 是为 ColdFusion (CFML) 开发人员提供的事实上的企业级 HMVC 框架。它是专业支持的、基于约定的、模块化的、高度可扩展的和高效的。ColdBox 入门快速而轻松。ColdBox 为您提供现代 ColdFusion (CFML) 开发的标准化方法,具有以下功能,从而减轻了开发的痛苦:
- 约定而不是配置
- 现代路由引擎
- RESTFul API 就绪
- 使用 ColdBox 模块的 MVC 分层方法
- 事件驱动编程
- 异步和并行编程结构
- 集成和单元测试
- 包含依赖注入
- 缓存引擎和 API
- 日志引擎
- 广泛的生态系统
- 多得多