如何从另一个 rails 应用程序获得远程 rails 服务器上 运行 和 API 的响应
how to get a response of running an API on remote rails server from another rails application
我必须 rails 应用程序,我的目标是在远程 rails 应用程序上调用 API 并取回该 API 的结果。
例如:
第一个应用程序有 update()
API 进行一些处理并创建一个名为 data
的哈希
现在我想从第二个应用程序调用 update()
并希望 data
散列作为响应。
我现在正在做的是使用 RestClient.get(url)
url 是第一个应用程序的 url 附加 API 名称。
这是否解决了我的要求,或者还有其他更好的方法吗?
我目前正在从事此类项目,但我正在使用 AJAX 从另一个站点获取数据。您必须注意跨站点脚本,使调用安全,并且最重要的是,如果您的一个站点在 https
上 运行,那么如果您的另一个应用程序是 [=15],则可能会出现问题=] 在 http
上。
有一个名为 ActiveResource
的产品...曾经内置于 rails 但现在是单独的 gem。
https://github.com/rails/activeresource
我们在我工作的地方经常使用它。
虽然它有一些怪癖,但它在提供类似 ActiveRecord 的行为方面做得相当不错。您执行 Model.save
并将 json 发送到后端应用程序的 modelscontroller#create
或 modelscontroller#update
操作。
出于这种目的,我会使用 HTTParty,轻量级 HTTP ruby 客户端。
只需调用
resp = HTTParty.get(url)
resp.body # => displays body of the response
JSON.parse(resp.body) # => parses JSON if you need to parse it
我找到了问题的答案,
我可以在我的远程服务器 API 中使用 render :test => data.to_json
,这很好地解析并发送 data
哈希以响应调用应用程序,这解决了我的问题。
我必须 rails 应用程序,我的目标是在远程 rails 应用程序上调用 API 并取回该 API 的结果。
例如:
第一个应用程序有 update()
API 进行一些处理并创建一个名为 data
的哈希
现在我想从第二个应用程序调用 update()
并希望 data
散列作为响应。
我现在正在做的是使用 RestClient.get(url)
url 是第一个应用程序的 url 附加 API 名称。
这是否解决了我的要求,或者还有其他更好的方法吗?
我目前正在从事此类项目,但我正在使用 AJAX 从另一个站点获取数据。您必须注意跨站点脚本,使调用安全,并且最重要的是,如果您的一个站点在 https
上 运行,那么如果您的另一个应用程序是 [=15],则可能会出现问题=] 在 http
上。
有一个名为 ActiveResource
的产品...曾经内置于 rails 但现在是单独的 gem。
https://github.com/rails/activeresource
我们在我工作的地方经常使用它。
虽然它有一些怪癖,但它在提供类似 ActiveRecord 的行为方面做得相当不错。您执行 Model.save
并将 json 发送到后端应用程序的 modelscontroller#create
或 modelscontroller#update
操作。
出于这种目的,我会使用 HTTParty,轻量级 HTTP ruby 客户端。
只需调用
resp = HTTParty.get(url)
resp.body # => displays body of the response
JSON.parse(resp.body) # => parses JSON if you need to parse it
我找到了问题的答案,
我可以在我的远程服务器 API 中使用 render :test => data.to_json
,这很好地解析并发送 data
哈希以响应调用应用程序,这解决了我的问题。