API を使用するには、クライアントとして angular js アプリケーションを構築する必要があります。問題は、API が jsonp 呼び出しをサポートしていないことです。
そこで、API を呼び出してコンテンツを返す Rails アプリケーションを作成しました。ファラデージェムを使っています
現在、API への呼び出しごとにメソッドがあります。ただし、すべてのメソッドはリクエストを作成するだけなので、リクエストをトリガーしてコンテンツを返します。
受信した内容に基づいてリクエストを作成し、ファラデーでリクエストを作成して結果を返すプロキシコントローラーを作成できるかどうか、私は迷っていました。このようなもの :
def proxy_request
if request.method_symbol == :get || request.method_symbol == :delete
line 7: response = faraday_conn.run_request(request.method_symbol, request.fullpath, nil, request.headers)
elsif request.method_symbol == :post || request.method_symbol == :put || request.method_symbol == :patch
response = faraday_conn.run_request(request.method_symbol, request.fullpath, request.body.read, request.headers)
end
render :text => response.body, :status => response.status, :content_type => response.headers["Content-Type"]
終わり
これは機能していません。私が間違っていることは何ですか?それは常に失敗します
NoMethodError (undefined method `strip' for #<StringIO:0x3436848>):
app/controllers/api_proxy_controller.rb:7:in `proxy_request'