我正在使用HTTParty gem来发出补丁请求,通过API调用更新对象,如下所示:
params = { first_name: "John"}
@options = {params: params}
@response = HTTParty.patch("http://localhost:3000/1/kites/4", @options)
但是在API方面,在上述PATCH请求应该调用的更新方法中,我只看到以下可用参数:
{"format"=>"json",
"controller"=>"api/v1/kites",
"action"=>"update",
"version"=>"1",
"id"=>"4"}
将错误消息传递回@response以进行过操作。
first_name发生了什么事和/或如何确切地调用HTTParty.patch,如果这确实是导致传递给API的参数丢失的原因?
编辑:
事实证明,如果我做了
@options = {query: params}
只有在我将查询保持在一定大小的情况下才有效....
答案 0 :(得分:1)
不确定您的'patch'操作在您的API中到底能做什么,但是documentation说您需要在body:
键中传递URL和参数,就像这样:
HTTParty.patch('site/your_url', body: { key1: value, key2: value })
另外,您可以在query:
键中传递参数,该参数会将参数附加到URI。
HTTParty.patch('site/your_url', query: { key1: value, key2: value })