タグ

ブックマーク / qiita.com/tkawa (3)

  • HTMLでWeb APIをつくる - Qiita

    シングルページアプリケーションやモバイルアプリなどの普及により、サーバサイドではJSONを出力するWeb APIの必要性が高くなってきています。みなさんはどのようにWeb APIを作っているでしょうか。 JSONはビュー RailsでJSON APIを定義する時、素のままでやろうとすると コントーラでto_jsonを呼んだり、モデルにas_jsonを定義したりすることになるかと思います。 モデルに書くとAPIによって出力内容を変えたい場合にとても苦労します。 API数が増えれば増えるほどモデルが複雑になっていきます。 APIレスポンスとしてのJSONはコントローラやモデルに書くべきでしょうか? ビューに書いた方が自然ではないでしょうか? これはRailsでの話ですが、Railsに限らず、フレームワークを使ってWeb APIを作るときに一般的にあてはまることだと思います。 変化に強い、再利用

    HTMLでWeb APIをつくる - Qiita
    t-wada
    t-wada 2014/08/05
    さすがの @tkawa さん。 RESTful な設計においてリンクを大事にして「Web アプリと Web API を分けない」考え方を分かりやすく説明している。
  • 《REST思想》と《リソース指向》と《Webページ》に関する(主にRailsの)話 - Qiita

    これはいわゆるWeb APIについて、ということかなと推測しました。RESTというのはAPIのプロトコルのことだと思われている傾向がありますが、そういうわけではありません。Web全体についてのもので、APIについてもWebアプリについても適用されるものです。 実はRESTでは「統一インターフェイス」の制約からメソッドについて規定されていますが、URLの形については特に規定されません(もちろんAddressabilityの面で重要であることは言うまでもありません)。なので実は/books,/books/1でなくてもいいのですが、これを規約(CoC)でズバッときれいに決めてしまったのがRailsのすごいところの1つです。 の追加や削除を行う場合は、情報をJSON形式でPOSTリクエストのボディとして送ります。application/x-www-form-urlencoded形式で送ることは

    《REST思想》と《リソース指向》と《Webページ》に関する(主にRailsの)話 - Qiita
    t-wada
    t-wada 2014/03/24
    やや混乱気味だった元エントリに対する素晴らしい回答になっている @tkawa++
  • ActiveRecordにこういう機能があったらどうでしょう?をgemにしてみた - Qiita

    class User < ActiveRecord::Base # User.admin scope :admin, -> { where(role: 'admin') } # user.admin? # => true or false def admin? self.role == 'admin' end end scope(クラスメソッド)とインスタンスメソッド両方の定義が必要ですが、内部でやっていることは質的には同じことです。 これをscope :adminだけ定義しておくと、admin?も自動的に使えるようになるっていう機能、作ったら需要ありますかねぇ? https://github.com/amatsuda/arel_ruby を使ったらできるんじゃないか、という思いつき。複雑なのは無理だろうけど…。 実装してみた (9/6 追記) arel_ruby の対応の都合で、Rai

    ActiveRecordにこういう機能があったらどうでしょう?をgemにしてみた - Qiita
    t-wada
    t-wada 2013/09/18
    おおお、これはほぼ毎回書くパターンですよね。便利 gem の予感!
  • 1