タグ

RESTに関するt-wadaのブックマーク (215)

  • What's a link?

    When you ask a developer, what is a “link”, they may quickly answer “a URL” or “a URI”, but this is not the whole truth. A URL is only an address that you can find to build a resource. A “link” connects one resource to another. My goal is to create a PHP interface that describes the abstract data-model behind a link. To do this job correctly, I felt I had to dig through all the relevant hypermedia

    What's a link?
    t-wada
    t-wada 2015/02/06
    ハイパーメディアにおけるリンクの概念 (単なる URL ではない) について HTML5, HTTP ヘッダ, Atom, XRD/JRD, HAL, Collection+JSON, Siren などを例に挙げて説明しているエントリ
  • RESTful Web API 開発をささえる Garage (client 編) - クックパッド開発者ブログ

    料理動画事業室の @yoshiori です。前に「RESTful Web API 開発をささえる Garage」で紹介した RESTful Web API を開発する Garage のクライアント側のライブラリを公開しました。この記事ではその使い方を紹介したいと思います。Garage の設計思想やサーバ側の実装については上記記事を御覧ください。 今回は簡単にクライアント側の挙動を知っていただくために pry を使って説明したいと思います。 アクセスするサーバは先程の記事で作成したアプリケーションを使用してみます。 サーバの準備 https://github.com/taiki45/garage-example の README にも書いてありますので簡単に進めたいと思います。 まずは下準備としてコードを github から clone してきて、ライブラリのインストールと DB のマイグレ

    RESTful Web API 開発をささえる Garage (client 編) - クックパッド開発者ブログ
    t-wada
    t-wada 2014/12/26
    先日公開された RESTful Web API を開発する Garage のクライアント側ライブラリ garage_client の使い方について
  • GitHub - cookpad/garage_client: Ruby client library for the Garage application API

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - cookpad/garage_client: Ruby client library for the Garage application API
    t-wada
    t-wada 2014/12/25
    クックパッドから Garage API のクライアントを簡単に作れるライブラリが公開された。素敵なクリスマスプレゼント!
  • Web API: The Good Parts

    Web APIの設計、開発、運用についての解説書。APIは設計次第で使いづらいものになってしまうだけでなく公開後の保守運用も難しくなってしまいます。そのためAPIを美しく設計することがとても重要です。書では「設計の美しいAPIは、使いやすい、変更しやすい、頑強である、恥ずかしくない」という考えのもと、APIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします。ターゲットは、URIにアクセスするとXMLやJSONなどのデータが返ってくるシンプルなタイプ――XML over HTTP方式やJSON over HTTP方式――のAPIです。読者は、Web API設計の考え方と手法を知ることができます。 はじめに 1章 Web APIとは何か 1.1 Web APIの重要性 1.1.1 APIでの利用を前提とした

    Web API: The Good Parts
    t-wada
    t-wada 2014/11/06
    目次を見る限りとても良さそう “設計の美しいAPIは、使いやすい、変更しやすい、頑強である、恥ずかしくない” 「恥ずかしくない」っておもしろいな
  • RESTful Web API 開発をささえる Garage - クックパッド開発者ブログ

    技術部の小野(@taiki45)です。この記事では簡単なアプリケーション(ブログシステム)の実装を通して、クックパッドで作成・使用しているライブラリのGarage の紹介と Garage を使った RESTful Web API の開発をご紹介したいと思います。 Garage は RESTful Web API を開発するための、 Rails gemified plugins です。Rails プログラマは Garage を使って Rails を拡張することで素早く Web API を開発することができます。Garage は新しくアプリケーションを開発する場合にも、既存の Rails アプリケーションに組み込んで Web API を実装する場合でも使用できます。Garage はリソースのシリアライズやアクセスコントロールなど Web API の実装に必要な機能をカバーしています。 Ruby

    RESTful Web API 開発をささえる Garage - クックパッド開発者ブログ
    t-wada
    t-wada 2014/11/06
    "RubyKaigi2014 にて Garage の OSS 化をお知らせしましたが、実際のアプリケーション開発向けの情報が少ないので、この記事とサンプルアプリケーションを通じて補完したいと思います" すばらしい
  • RESTful #とは RailsスタイルからRESTを学ぼう

    Hypermedia: The Missing Element to Building Adaptable Web APIs in RailsToru Kawamura

    RESTful #とは RailsスタイルからRESTを学ぼう
    t-wada
    t-wada 2014/11/01
    REST について初歩から分かりやすく説明している資料
  • RubyKaigi 2014 | Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails

    Detail [JA] Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails The development of Web APIs has seen a surge in popularity in recent years. It is relatively easy to build Web APIs with Rails. You can generate JSON using Jbuilder or RABL. You can use 'respond_to' to share logic with a web application. You can also use another framework that specializes in Web APIs called Grape.

    RubyKaigi 2014 | Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails
    t-wada
    t-wada 2014/10/09
    おおお tkawa さんの RubyKaigi 2014 講演の動画はもう上がっているのか!
  • Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails

    RubyKaigi 2014 http://rubykaigi.org/2014/presentation/S-ToruKawamura Japanese enlargement version http://www.slideshare.net/tkawa1/rubykaigi2014-hypermedia-the-missing-element-enlarged-jaRead less

    Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails
    t-wada
    t-wada 2014/09/19
    tkawa さんの RubyKaigi 講演資料。 Web API 設計の現状の問題提起と、『RESTful Web APIs』で示された世界を実現するために JSON に足りないセマンティクスを補う試み。素晴らしい資料だ。
  • GitHub - cookpad/garage: Rails extension for RESTful Hypermedia API

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - cookpad/garage: Rails extension for RESTful Hypermedia API
    t-wada
    t-wada 2014/09/19
    クックパッドが開発した "「RESTfulであり、Hypermediaに現実的なレベルで対応する」という思想で設計された、RESTful APIをRails上で実装するためのライブラリ (http://htn.to/td2VT7)" が、とうとう公開されたのか。
  • RailsでAPIをつくるときのエラー処理 - Qiita

    例外を利用して実装すると便利な場合が多い この投稿では、HTTP経由でJSONを返すようなWeb APIRailsを利用して実装するとき、エラーレスポンスを返す場合の処理をどう実装するとやりやすいのか、というニッチな話題に触れる。APIでエラーを返したいとき、即ち400以上のステータスコードと共にレスポンスを返したいような場合、どう実装するのが良いか。もしリクエストの処理中にエラーが検出された場合、それ以降の処理を行わずに直ちに中断してエラーレスポンスを返したいという場合が多いため、例外を利用して実装すると便利な場合が多い。 例外を利用しない方が良い場合もある 1つのリクエストに複数の問題が含まれている場合、先に見つけた問題だけを報告するようなエラーレスポンスを返すのか、それとも問題を抱えながらも進めるところまで処理を進めて報告可能な情報を全て含むようなエラーレスポンスを返すのか、という

    RailsでAPIをつくるときのエラー処理 - Qiita
    t-wada
    t-wada 2014/09/01
    Rails で API を作るときの例外処理は Rails ではなく Rack のレイヤで行う方が良いという話
  • JSON Hyper-Schemaのようなサービスディスクリプションがうまくいかない理由 - ぶろぐ。@はてな

    RubyKaigiの発表のために考えていたのですが、発表編に詳しく入れられなくなりそうなので、まとまりないですがブログに書いてみます。 SOAPでいうWSDL(Web Service Definition Language)のような、サービスのインタフェースを定義・記述するためのしくみを総称してIDL(Interface Description Language)と呼びます。 JSON Hyper-Schema*1もIDL、サービスディスクリプションの一種といえます。 WebのIDLは今までにもたくさん出てきて、しかしうまくいっていません。 なぜでしょう? @yohei さん曰く、 RESTは統一インタフェースなんだから、そこにさらにインタフェースを定義するのはおかしい (API Meetup #1 質疑応答より) WebAPIのこれまでとこれから from yohei これはどういうこ

    JSON Hyper-Schemaのようなサービスディスクリプションがうまくいかない理由 - ぶろぐ。@はてな
    t-wada
    t-wada 2014/08/28
    “データの意味に関すること(application semantics)は集約して記述していいでしょう。URL、メソッド、パラメータに関すること(protocol semantics)は集約してはいけません(ただしメディアタイプで定義する場合を除く)”
  • #mozaicfm #7 REST を聞いた - iakioの日記

    #7 REST - mozaic.fm RESTの引力に惹かれたREST人達を、RESTの伝道師たる@yoheiが粛清する話。だったと思う。 APIバージョニングの話を聞きながら、/api/v1/fooじゃなくいっそ/api/v1.2.*/fooとか/api/>=v1.3.4,<v1.4/fooとかだったらどうなるだろう。とか想像した。APIのセマンティックバージョニング。まあマイナーバージョンは必要無いかな。 とはいえ、もともとはURLの設計としてどうかというよりサーバー側をどう実装するかの話だったので、そういう意味ではほぼ無理ゲーな気がする。たとえバージョンごとに別々のサーバーがあったとしても、最終的には永続化レイヤーが問題になるんだろうなあ。 Goのバージョンの話が出てたけど、最近TypeScriptを勉強していて、あの.d.tsもなかなか大変なことになってるなと思った。 伊勢神宮の

    #mozaicfm #7 REST を聞いた - iakioの日記
    t-wada
    t-wada 2014/08/25
    “RESTの引力に惹かれたREST人達を、RESTの伝道師たる@yoheiが粛清する話。だったと思う” そ、そうだったのかー (そうでした) #mozaicfm
  • #mozaicfm REST を聴いての感想 - ぶろぐ。@はてな

    mozaic.fmでRESTの回が企画されているということを、API Meetup #1 のときに yohei さんから直接聞いていたのですが、ついにそれが公開されたので、喜び勇んで聴きました。 mozaic.fm #7 REST 断片的に感想をツイートしたので、そのまとめです。 RESTの何が重要なのか さすがの t_wada さん。アーキテクチャとしてもそうだし、アプリケーションフレームワークも「適切な制約」を設けることで設計のコストが下がる、という話の流れでした。 “Constraints are liberating”「制約は自由をもたらす」は僕が好きな言葉ですが、これを知ったのはDHHのRubyKaigi 2006の講演からです。(初出はどこか別のところなのかも?) RESTの流行 原理主義者的発言をするなら、「REST API」と謳って世に出たWeb APIはただのJSON/X

    #mozaicfm REST を聴いての感想 - ぶろぐ。@はてな
    t-wada
    t-wada 2014/08/21
    tkawa さんによる #mozaicfm 感想エントリ。さすがの意見が並んでいる。そして “「今のJSON Web APIが抱える問題」に関することを9月18日のRubyKaigi 2014で話します” これは期待!
  • RESTが日本で受け入れられていった頃の話( #mozaicfm の補足) - Kentaro Kuribayashi's blog

    mozaic.fm第7話のRESTの話で、RESTが日で広く受け入れられていった頃、というか、その端緒の頃の話が出ていて懐かしかったのだし、細部にやや不正確なところがあるのが気になったりもしたので、補足を書いておきますね。 まず、いわずとしれた@yoheiさんがRESTをまず知ったのが2003年とかそれぐらいの時期とおっしゃっていて、それから数年経ち、RESTがWebエンジニアに広く受け入れられていったのは、2007年末にリリースされ、resourcesという機能を取り入れたRails2からというのは、@t_wadaさんがおっしゃっている通り、事実だろうと思います。 また、Podcastの中では、主催のJxckさんが、それはそれと認めた上で、彼自身にとってはAjaxの登場が大きかったということを述べた上で、@yoheiさんの主催された第八回XML開発者の日での高橋征義さんとid:seco

    RESTが日本で受け入れられていった頃の話( #mozaicfm の補足) - Kentaro Kuribayashi's blog
    t-wada
    t-wada 2014/08/20
    とても大事な話。 #mozaicfm では yohei さんの話とのバランスを取るために意識的に Rails 以後を話すようにしたという側面もあります。 Jesse James Garrett のエントリを訳されたのは antipop さんだったのだなぁ
  • ep7 REST | mozaic.fm

    Theme 第 7 回のテーマは REST です。 今回は @yohei さんと、 @t_wada さんをお迎えし、 REST をテーマに 「もういちど REST とは何か、ちゃんと話そう」という議論を皮切りに「今なにが起こっているのか?」「これからどうなっていくのか?」また、「Web を支える技術を改訂するとしたら?」をたっぷり議論しました。 エピソード中にも出てきましたが、 「Web を支える技術」を改訂する際に「こういうことを載せて欲しい」 という @yohei さんへの要望があれば #mozaicfm をつけて、是非つぶやいてください。 今回は、居酒屋トークの録音なので周囲の雑音が多いですがご了承ください。 Show Note Representational State Transfer (REST) Web を支える技術 - - HTTP, URI, HTML, そして RES

    ep7 REST | mozaic.fm
    t-wada
    t-wada 2014/08/19
    #mozaicfm にて @yohei さん @Jxck_ さんと居酒屋トーク(そのままの意味で)しました。やや聞き取りにくいですが、 REST や『Webを支える技術』に関して2時間喋りましたので、ご興味のある方は是非。
  • 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 を分けない」考え方を分かりやすく説明している。
  • 社内システムの構造と設計、実装のはなし(下書きバージョン)

    番用はこちら http://www.slideshare.net/tagomoris/devsumi2014-tagomorisRead less

    社内システムの構造と設計、実装のはなし(下書きバージョン)
    t-wada
    t-wada 2014/07/18
    モリスさんのデブサミ講演、下書き資料の方が字が多めで単体で読みやすいな。改めて良い講演/資料だ。
  • jQuery 公式 Blog 「jquery-latest.js を使用するのをやめろ」

    jQuery 公式 Blog は、「Don't Use jquery-latest.js」 と題された記事内で、今後、jquery-latest.js のバージョンを 1.11.1 で固定することと、番環境で jquery-latest.js を読み込むのをやめてくれというアナウンスを行っています。 jQuery 公式 Blog は、7月 3日付けで投稿された 「Don't Use jquery-latest.js (jquery-latest.js を使うな)」 と題された記事内で、今後、jquery-latest.js のバージョンを 1.11.1 で固定することと、番環境 (公開している Web サイト) で jquery-latest.js を読み込むのをやめてくれというアナウンスを行っています。 Don't Use jquery-latest.js : Official jQ

    jQuery 公式 Blog 「jquery-latest.js を使用するのをやめろ」
    t-wada
    t-wada 2014/07/08
    そりゃそうだろとしか言いようがないし、 "latest" という言葉で示される RESTful なリソースが死んでしまった(負けてしまった)瞬間でもあるな……
  • SRU: Search/Retrieval via URL -- SRU, CQL and ZeeRex (Standards, Library of Congress)

    SRU/CQL SRU- Search/Retrieve via URL - is a standard XML-based protocol for search queries, utilizing CQL - Contextual Query Language - a standard syntax for representing queries. Specifications: SRU 2.0        SRU 1.2        SRU 1.1     CQL Version 1.1 was released in 2004 and 1.2 in 2007. SRU 2.0 is an OASIS Standard. Companion Specs: Scan    Explain   SRW    XML Files Also Conformance (SRU Base

    t-wada
    t-wada 2014/07/02
    検索系 API の仕様 "SRU- Search/Retrieve via URL" と "CQL - Contextual Query Language" の仕様を記したサイト
  • Home - OpenSearch

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Home - OpenSearch
    t-wada
    t-wada 2014/07/02
    OpenSearch 規格群の本丸。各仕様へのリンクもまとまっている。検索系の Web API を設計する際の参考になる。