如何传递哈希到Grape API方法?

哈尔巴诺

我在Grape gem和参数验证方面遇到问题。其背后的想法是通过API服务使用嵌套属性创建复杂的实体。

我有创建旅行的方法,旅行有很多目的地,我想使用散列(使用accepts_nested_attributes_for帮助程序)传递该目的地

我对参数有此限制:

requires :destinations, type: Hash

我正在尝试发送如下内容:

{ destinations => [ 
  { destination: { name => 'dest1'} },
  { destination: { name => 'dest2'} }, 
  { destination: { name => 'dest3'} }
]}

为了在方法内部构建类似于下面的结构并创建行程:

{ trip: {
  name: 'Trip1', destinations_attributes: [
    { name: 'dest1' },
    { name: 'dest2' },
    { name: 'dest3' }
  ]
}}

我正在使用POSTMAN chrome扩展程序来调用API方法。

这是一个屏幕截图: 在此处输入图片说明

如果有人可以帮助我,我将不胜感激。

米海·伊内斯库(Mihai Ionescu)

根据要发送的内容,您需要更改Grape限制,因为destinationsArray,而不是Hash

requires :destinations, type: Array

发送请求时,您不需要“目标”哈希:

{ destinations => [ 
  { name => 'dest1', other_attribute: 'value', etc... },
  { name => 'dest2', other_attribute: 'value', etc... }, 
  { name => 'dest3', other_attribute: 'value', etc... }
]}

这将创建一个哈希数组。

为了通过POSTMAN发送此消息,您需要修改destinations发送的参数并在POSTMAN中添加多行。就像是:

destinations[][name]                'dest1'
destinations[][other_attribute]     'value1'
destinations[][name]                'dest2'
destinations[][other_attribute]     'value2'
destinations[][name]                'dest3'
destinations[][other_attribute]     'value3'

希望这能回答您的问题。让我知道这是否是您想要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将参数从Grape :: API传递到序列化器

来自分类Dev

RAILS:如何将JSON API数据传递到控制器中的哈希

来自分类Dev

将ApplicationController继承到Grape-API

来自分类Dev

rspec 验收测试中 Grape API 的哈希参数

来自分类Dev

Grape API-如何发布嵌套资源?

来自分类Dev

API的POST方法:如何传递数组?

来自分类Dev

如何在Grape中定义哈希数组?

来自分类Dev

将JSON数组从Javascript传递到Web API Controller方法

来自分类Dev

将API数据异步传递到视图的方法?

来自分类Dev

如何将哈希查询参数传递给AWS API Gateway?

来自分类Dev

如何将哈希查询参数传递给AWS API Gateway?

来自分类Dev

如何将数据从自定义授权属性传递到Web API操作方法?

来自分类Dev

如何将数组作为主体从 jQuery POST 方法传递到 ASP.NET Web API?

来自分类Dev

如何将数据从API调用传递到ViewController?

来自分类Dev

如何将URL从API传递到Action(ReactJS)

来自分类Dev

如何在将哈希作为参数传递给 ruby 方法时设置默认值?

来自分类Dev

c#如何将变量从方法传递到main?

来自分类Dev

如何将方法传递到开放的SQL连接中

来自分类Dev

如何将对象从意图传递到 onActivityResult() 方法

来自分类Dev

如何将数据从 *ngFor 项目传递到单击方法

来自分类Dev

如何在odoo中从新的api方法调用旧的api方法时传递id参数

来自分类Dev

如何将参数传递给api post方法?

来自分类Dev

如何模拟API的静态方法

来自分类Dev

$ resource; 如何封装API方法

来自分类Dev

如何模拟API的静态方法

来自分类Dev

数组到哈希转换的更好方法

来自分类Dev

数组到哈希转换的更好方法

来自分类Dev

如何“挂钩”到参数/对象传递到操作方法的管道中

来自分类Dev

在传递到Django中的实际视图之前,如何将URL路由到通用方法

Related 相关文章

  1. 1

    将参数从Grape :: API传递到序列化器

  2. 2

    RAILS:如何将JSON API数据传递到控制器中的哈希

  3. 3

    将ApplicationController继承到Grape-API

  4. 4

    rspec 验收测试中 Grape API 的哈希参数

  5. 5

    Grape API-如何发布嵌套资源?

  6. 6

    API的POST方法:如何传递数组?

  7. 7

    如何在Grape中定义哈希数组?

  8. 8

    将JSON数组从Javascript传递到Web API Controller方法

  9. 9

    将API数据异步传递到视图的方法?

  10. 10

    如何将哈希查询参数传递给AWS API Gateway?

  11. 11

    如何将哈希查询参数传递给AWS API Gateway?

  12. 12

    如何将数据从自定义授权属性传递到Web API操作方法?

  13. 13

    如何将数组作为主体从 jQuery POST 方法传递到 ASP.NET Web API?

  14. 14

    如何将数据从API调用传递到ViewController?

  15. 15

    如何将URL从API传递到Action(ReactJS)

  16. 16

    如何在将哈希作为参数传递给 ruby 方法时设置默认值?

  17. 17

    c#如何将变量从方法传递到main?

  18. 18

    如何将方法传递到开放的SQL连接中

  19. 19

    如何将对象从意图传递到 onActivityResult() 方法

  20. 20

    如何将数据从 *ngFor 项目传递到单击方法

  21. 21

    如何在odoo中从新的api方法调用旧的api方法时传递id参数

  22. 22

    如何将参数传递给api post方法?

  23. 23

    如何模拟API的静态方法

  24. 24

    $ resource; 如何封装API方法

  25. 25

    如何模拟API的静态方法

  26. 26

    数组到哈希转换的更好方法

  27. 27

    数组到哈希转换的更好方法

  28. 28

    如何“挂钩”到参数/对象传递到操作方法的管道中

  29. 29

    在传递到Django中的实际视图之前,如何将URL路由到通用方法

热门标签

归档