Railsを使用してJSONのWebサービスクライアントにデータを返す簡単な方法はありますか?Railsを使用してWebサービスを通じてJSON形式のデータを公開するにはどうすればよいですか?
答えて
Railsリソースは、モデルにRESTfulなインターフェイスを提供します。どれどれ。
モデル
class Contact < ActiveRecord::Base
...
end
ルート
map.resources :contacts
コントローラ
class ContactsController < ApplicationController
...
def show
@contact = Contact.find(params[:id]
respond_to do |format|
format.html
format.xml {render :xml => @contact}
format.js {render :json => @contact.json}
end
end
...
end
これは
を必要と応答の種類を取得するために特別なメソッドを定義することなく、あなたのAPIインタフェースを提供しますなど
/contacts/1 # Responds with regular html page
/contacts/1.xml # Responds with xml output of Contact.find(1) and its attributes
/contacts/1.js # Responds with json output of Contact.find(1) and its attributes
Railsは、あなたが#to_json
方法を有することは気にしたいほとんどのものをmonkeypatches。
ハッシュ、配列、ActiveRecordオブジェクトのために、私の頭の上から外してください。これはあなたが望む可能性のある約95%をカバーするはずです。独自のカスタムオブジェクトを持っている場合は、独自のto_json
メソッドを書くことは自明です。データをハッシュにジャムさせ、次にjsonizedハッシュを返すことができます。
monkeypatches?私はそれが何を意味するのか分かりませんが、私はオブジェクトをすべてではないにしても、そのメソッドをほとんどのものに提供することを指していると推測できます。 –
既存のオブジェクトにパッチを当てたり、メソッドを追加したり、これは本当に動的言語拡張です。 –
だけでこれを行うプラグインがあり、http://blog.labnotes.org/2007/12/11/json_request-handling-json-request-in-rails-20/
そして、私はこの機能を理解して何から はRailsの中にすでにあります。しかし、そのブログの記事を参照してください、コード例と説明があります。
ActiveRecordは、JSONとやりとりするためのメソッドも提供します。 ARオブジェクトからJSONを作成するには、単にobject.to_jsonを呼び出します。 JSONからARオブジェクトを作成するには、新しいARオブジェクトを作成してからobject.from_jsonを呼び出せなくてはなりません。わかっていますが、これはうまくいきませんでした。
- 1. トランザクションではないWebサービスとしてEJBを公開するにはどうすればよいですか?
- 2. アプリケーションサーバーコンテナにSOAP Webサービスを公開および使用するにはどうすればいいですか?
- 3. MSBuildを使用してAsp.NET Webアプリケーションを公開するにはどうすればよいですか?
- 4. EJB 3.1をREST Webサービスとして公開するにはどうすればよいですか?
- 5. htmlコードを使用してカレンダー形式を開くにはどうすればよいですか?
- 6. サービスを通じてデータオブジェクトを公開しますか?
- 7. C#でOpenXML形式SDKを使用している形式の単語からデータを読み取るにはどうすればよいですか?
- 8. C++を使用して.asmx Webサービスを使用するにはどうすればよいですか?
- 9. Scalaを使用してWebの開発を開始するにはどうすればよいですか?
- 10. JSONのRESTサービスを公開するにはどうすればよいですか?
- 11. Visual Studioを使用してタイスクリプトウェブサイトをGitHubページに公開するにはどうすればよいですか?
- 12. Javaでcxfの快適なWebサービスを公開するにはどうすればよいですか?
- 13. py-appscriptを使用してPSDをPNG形式でエクスポートするにはどうすればよいですか?
- 14. Glass GDKの静的カードを公開して公開するにはどうすればよいですか?
- 15. JSONを使用してWebサービスからデータを取得する
- 16. REST Webサービスを使用してデータベースを公開する
- 17. Rspecを使用して、Rails 3.0.11でコントローラのJSON形式をテストするにはどうすればよいですか?
- 18. CodeDOMを使用してメンバーオブジェクトを公開するにはどうすればよいですか?
- 19. Silverlightを使用してOfficeファイルを公開するにはどうすればよいですか?
- 20. Tridion Resolverを使用して公開アイテムを削除するにはどうすればよいですか?
- 21. WCFスターターキットを使用してSOAPエンドポイントを公開するにはどうすればよいですか?
- 22. ODataを使用してGrailsドメインモデルを公開するにはどうすればよいですか?
- 23. JSONを使用してアンドロイドのウェブサイトでデータを取得するにはどうすればよいですか?
- 24. Webプラグインを使用してJSONペイロードをRabbitMQに送信するにはどうすればよいですか?
- 25. Google App EngineでPythonを使用してJSON形式のCookieデータを送信するにはどうすればよいですか?
- 26. マルチスレッドを使用して2つのWebサービスを集計するにはどうすればよいですか?
- 27. cxfでSOAPサービスを使用してWebサービスビルドをテストするにはどうすればよいですか?
- 28. NTLMを使用してWCF Webサービスでコンソールアプリケーションを認証するにはどうすればよいですか?
- 29. MVCでWebサービスを使用してデータベースに接続するにはどうすればよいですか?
- 30. ASP.Net MVC3を使用して簡単なWebサービスをセットアップするにはどうすればよいですか?
すばらしい答え!もし私がそれをRails 3に更新することができたら、jsonメソッドはto_jsonのようです。少なくともそれは私のために働いたものです。つまり、@ contact.to_json – codedog