ruby-on-rails - 检查 RoR json API
问题描述
是否有任何方式(我的意思是 RoR 代码)来枚举
- 现有 API 端点
- 具有数据类型的输入数据
- 输出具有数据类型的数据
- 别的东西
假设我们在 Rails 上使用 ruby,并且我们的 api 基于模型及其类型。
(类似于这里的架构)
什么是可能的以及如何?什么是不可能的,为什么?
解决方案
这通常是不可能的。
Rails 应用程序中的控制器(和模型)在各个层上定义要接受的数据。这通常不是以静态格式定义的,而是通过分层验证过程定义的(例如,在具有strong_parameters的控制器和具有它们的验证的模型上。
由于这些验证可以使用 Ruby 代码定义任意复杂的业务规则,因此通常只能通过尝试将给定的数据结构传递给应用程序并检查它是否接受它而没有任何错误来检查它是否被接受。
话虽如此,有些 gem 允许您定义“抽象”API 模式,这些模式可能被外部客户端使用并用于验证应用程序中的数据。这里的例子是trailblazer、dry-validation、json-schema等。请注意,这些方法通常需要遵循这些 gem 的架构要求,这可能会严重影响您设计应用程序的方式。
推荐阅读
- iframe - 从 Google 表格在 iFrame 中启动时,Google 表单无法提交
- angular - ng build 后的国家/地区标志
- javascript - Babylonjs 将脚本附加到元素
- verilog - 系统verilog中的if else和case
- mysql - MySQL Dense_Rank() 和 Max() 函数不在同一语句中工作
- javascript - 如何从本地驱动器上的 .js 文件中获取 JavaScript 代码并在 IE11 中运行它?
- reactjs - 在 IE 兼容性视图中反应不呈现
- aws-lambda - AWS 事件驱动批处理,带异步输入,必须配对
- spring-boot - Maven 模块与自定义 spring-boot 启动器
- matlab - 有没有更快的方法来解决我的牛顿算法?