我的應用往往需要與第三方API,並使用大量的數據從響應,管理平臺是其中之一。(也許會使用3〜4 3日API) 我試圖用的Net :: HTTP,例如:rails與第三方API交互?
我的控制器:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
def get_request (request)
uri = URI.parse(request)
res = Net::HTTP.get_response(uri)
end
end
require 'net/http'
class LogsController < ApplicationController
def new
redmine_api_key = 'key=' + 'my key'
redmine_api_url = 'http://redmine/users/1.json?'
request_user = redmine_api_url + redmine_api_key
@user_get = get_request(request_user)
@user_data = JSON.parse(@user_get.body)['user']
end
end
我的觀點:(只是測試,以顯示我得到了什麼)
<div class="container-fluid">
<h1>Account data</h1>
<%= @user_data %><br>
<%= @user_get.code %><br>
<%= @user_get.message %><br>
<%= @user_get.class.name %><br>
<div class="table-responsive">
<table class="table">
<thead>
<th>ID</th>
<th>login</th>
<th>firstname</th>
<th>lastname</th>
<th>mail</th>
<th>created_on</th>
<th>last_login_on</th>
<th>api_key</th>
</thead>
<tbody>
<tr>
<td><%= @user_data['id'] %></td>
<td><%= @user_data['login'] %></td>
<td><%= @user_data['firstname'] %></td>
<td><%= @user_data['custom_fields'][0]['id'] %></td>
</tr>
</tbody>
</table>
</div>
</div>
我可以得到我想要的數據,但我不知道我的方法是對的還是愚蠢的(我的意思是一些代碼,如JSON.parse(@ user_get.body)['user'])。我做了一些研究,在一些文章中,他們說:如果app使用多個API,在中寫入lib文件夾是更好的方法。 還有一些機構建議:從第三方API獲取所有數據,並使用創建自己的DB來管理數據。 但我找不到有關如何使用第三方API的完整教程...
非常感謝!感謝您的建議,我會更認真地學習文檔。 – John