![](/img/trans.png)
[英]how to get the remote ip (requester) on grape-api rails application
[英]how to get a response of running an API on remote rails server from another rails application
我必須安裝Rails應用程序,我的目標是在遠程Rails應用程序上調用API並獲取該API的結果。
例如:
第一個應用程序具有update()
API,該API進行一些處理並創建一個稱為data
的哈希
現在,我想從第二個應用程序調用update()
,並希望data
哈希作為響應。
我現在正在使用RestClient.get(url)
url,是第一個應用程序的url,並附加了API名稱。
這是否可以解決我的要求,或者還有其他更好的方法嗎?
有一種稱為ActiveResource
的產品...曾經內置在導軌中,但現在是單獨的寶石。
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
我目前正在從事此類項目,但是我正在使用AJAX從另一個站點獲取數據。 如果您的一個站點運行在https
,那么您必須照顧好跨站點腳本編寫,確保調用的安全性,並且最重要的是,如果您的另一個應用程序運行在http
上,則可能會出現問題。
我找到了問題的答案,我可以在遠程服務器API中使用render :test => data.to_json
,很好地解析並發送data
哈希以響應調用應用程序,這解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.