gpt4 book ai didi

ruby-on-rails - Grape api - 如何发布嵌套资源?

转载 作者:行者123 更新时间:2023-12-05 01:47:01 27 4
gpt4 key购买 nike

因此,我正在使用 Rails 4 和 Grape Api 开发这个系统。基本上,它汇总了有关在车辆上执行的维护服务的信息。我的模型定义如下:

# service.rb

class Service < ActiveRecord::Base
has_many :service_items


#service_item.rb

class ServiceItem < ActiveRecord::Base
belongs_to :service

我实现了一个 API,以便外部应用程序可以在我的系统上发布服务。每个服务都有一个关联的 1 个或多个服务项目的列表。我有一条类似的路线:用于 POST 的 example.com/api/v1/services。我的问题是如何使它接受具有服务属性和嵌套在其中的 service_items 属性的帖子?

我阅读了 Grape 文档并开始了这样的事情:

#service_providers_api.rb

resource :services do
desc "Post a Service"
params do
#requires :category_id, type: Integer
requires :description, type: String
requires :plate, type: String
requires :mileage, type: Integer
requires :date, type: Date
optional :cost, type: BigDecimal

requires :service_items do
requires :description, type: Integer

end
end

post do
.
.
.
end

end

但我不确定如何装载帖子数据才能使其正常工作。是否可以像这样在一个请求中完成所有这些,或者我是否必须将每个请求分开?例如一个 POST 来接收服务,然后为每个关联的 service_item 发送一系列 POST。在这种情况下推荐的最佳方法是什么?

最佳答案

params do
requires :service_items, type: Hash do
requires :description, type: Integer
end
end

requires 需要两个参数,你必须提供一个类型。在你的例子中是一个哈希

关于ruby-on-rails - Grape api - 如何发布嵌套资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32273088/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com