首页 > 解决方案 > 检查 RoR json API

问题描述

是否有任何方式(我的意思是 RoR 代码)来枚举

假设我们在 Rails 上使用 ruby​​,并且我们的 api 基于模型及其类型。

(类似于这里的架构)

什么是可能的以及如何?什么是不可能的,为什么?

标签: ruby-on-railsrubyruby-on-rails-5

解决方案


这通常是不可能的。

Rails 应用程序中的控制器(和模型)在各个层上定义要接受的数据。这通常不是以静态格式定义的,而是通过分层验证过程定义的(例如,在具有strong_parameters的控制器和具有它们的验证的模型上。

由于这些验证可以使用 Ruby 代码定义任意复杂的业务规则,因此通常只能通过尝试将给定的数据结构传递给应用程序并检查它是否接受它而没有任何错误来检查它是否被接受。

话虽如此,有些 gem 允许您定义“抽象”API 模式,这些模式可能被外部客户端使用并用于验证应用程序中的数据。这里的例子是trailblazerdry-validationjson-schema等。请注意,这些方法通常需要遵循这些 gem 的架构要求,这可能会严重影响您设计应用程序的方式。


推荐阅读