【发布时间】:2011-06-23 19:15:34
【问题描述】:
对于 GET 请求:-
response = Typhoeus::Request.get("http://localhost:3000/users/1.json?oauth_token=12")
这会完美地返回 Json 响应。
对于发布请求:-
response = Typhoeus::Request.post("http://localhost:3000/users/1.json?oauth_token=12",:params => {'[user][city]' => params[:location]})
不工作...
这是返回路由错误。
更新:--
对于登录这个 api post call 正在工作..
response = Typhoeus::Request.post(API_SERVER_ADDRESS + "user_sessions.json" + API_OAUTH_TOKEN, :params => {'[user_session][email]' => params[:email], '[user_session][password]' =>params[:password]})
在路线中
resources :users
而且 web http 请求也运行良好..
更新
例如来自 rails 日志的 http 请求是:--
Parameters: {"commit"=>"Update", "authenticity_token"=>"8nvzCd0GF9IxjMcTfHOMJTPnycVPNIENMoMff8w4qAI=", "utf8"=>"✓", "id"=>"1", "user"=>{ "city"=>"abc"}}
现在我想发送相同类型的请求..
【问题讨论】:
-
如果你能解释一下你试图传递的参数,我可以用适当的代码更新我的例子。
-
恐怕我要打平底船了,我被难住了。您将该工作登录调用发布到哪个 API 服务?另一端是你写的吗?只是因为 github 站点 (github.com/dbalatero/typhoeus) 上的 Typhoeus 基础知识没有显示您正在使用的 :params 设置,括号中的字符串作为键...自述文件中的所有内容都是直接的键值对。如果可行,那么我只是不熟悉该特定语法。
-
@yardboy 他们将如何重新格式化:params => {'[user_session][email]' => params[:email], '[user_session][password]' =>params[:密码]}) 或 "user"=>{ "city"=>"abc"}
-
可能类似于: :params => { :user_session => { 'email' => params[:email], 'password' => params[:password] } } 这就是参数例如,如果所有这些都来自以标准方式构建的表单,则哈希看起来就像在您的控制器中一样,即您将访问电子邮件和密码数据作为 params[:user_session]['email'] 和 params [:user_session]['密码']。
-
我已经试过了..但这根本不起作用。
标签: ruby-on-rails json post typhoeus