Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
RESTの基本的な発想は、HTTPメソッドでリソースをCRUDできるはずだ、というアイデア。 では、HTTPメソッドは、そもそもどんなものなのか? 「安全なメソッドと冪等{idempotent} なメソッド」でいくつか語られている。 「RESTful Webサービス」で「べき等」という概念が出てくる。 「べき等」とは、同じ操作を何度行っても同じ結果であること。つまり副作用がなく安全であることを意味する。 少なくとも、GETはべき等に使うならば、安全であると言える。 しかし、GETで、リソースの削除や更新を行う時も、実はよくある。 REST思想に従うならば、GETは副作用を起こしてはいけない。 POST、PUT、DELETEがリソースの更新で副作用を起こすように使うべき。 RailsはREST思想を忠実に反映している。 また、Strutsも「http://~/***.do」というURLを見る
3月の末か遅くとも4月の頭の土曜日あたりにRESTful本の読書会を開催するべくいろいろと準備を進めています。 RESTful Webサービス 作者: Leonard Richardson,Sam Ruby,山本陽平,株式会社クイープ出版社/メーカー: オライリー・ジャパン発売日: 2007/12/21メディア: 単行本購入: 25人 クリック: 842回この商品を含むブログ (168件) を見る この読書会の開催は以下のような要領で行います。 基本フォーマットはPofEAA読書会(http://capsctrl.que.jp/kdmsnr/wiki/PofEAA/?%C6%C9%BD%F1%B2%F1)です。 参加者はポジションシートを準備して、それを自分で参加人数分コピーしてもらって、当日現場で全員にそれを配布します。 最初に初参加の人は3分、2回以上参加の人は2分の持ち時間でポジショ
RESTful な HTTP の使いかたという文脈で、特に構造を持たないような集合をリソースとして、CRUD を行うという話はよくある。(cf. http://yohei-y.blogspot.com/2005/04/rest-5-get-post-put-delete.html) では、キュー(FIFO なデータ構造)を扱うにはどのように構成したらよいのか? と考えはじめて分からなくなった。 head には突っ込むことだけが出来る tail からは取り出しだけが出来る その他の要素には(管理とかは置いといて)アクセスできない PUT/DELETE の羃等を知らなかったときには、キュー(queue.hoge という名前だとする)をリソースと見立てて、 PUT /queue.hoge で head に突っ込む DELETE /queue.hoge で tail から取り出す でいいのかなぁ、
Web+DB Press を見て、羃等なメソッドという概念を知った。 Studying HTTP 経由で [Studying HTTP] HTTP Method メソッドは、(エラーや期限切れ発行とは別に) 同一のリクエストの N > 0 の副作用が単一のリクエストにおけるものと同じであるような際には "冪等{idempotence}" の性質を持つ事もできる。 GET, HEAD, PUT, DELETE 各メソッドはこの性質を共有する。 また、OPTIONS と TRACE 各メソッドは副作用を持つべきではないし、本来冪等であるものである。 しかしながら、[...] http://www.studyinghttp.net/method#Idempotent_Methods 原文へ。 9.1.2 Idempotent Methods Methods can also have the p
» REST 入門 目次 WWW は REST アーキテクチャスタイルのアーキテクチャを採用した実装のひとつですが、 REST アーキテクチャスタイルでないアーキテクチャの WWW アプリケーションもかなり存在します。 REST でないものを一言で言ってしまうと、 URI と HTTP を正しく使っていないもの、ということになります。 以下では URI と HTTP の誤った使い方について説明します。 URI をクライアントで組み立てる URI をクライアント側でごちょごちょ組み立てなければならないのなら、それは REST ではありません。 たとえば、はてなブックマーク AtomAPI が、こんなインターフェースだったらどうでしょう? ブックマークをキーワードで検索する。 POST /uso/bookmarkSearchService HTTP/1.1 Host: b.hatena.ne.
RestWiki をたまに見直すと新たな発見があって面白い。 たとえば先日、「ステートレスなやりとりとは何か(What is Stateless Interaction?)」という箇所を見つけて、興味深く読んだ。このページは以前も絶対に読んでいるはずなのだが、 人間は忘れてしまうものである。 RestWiki の例でも充分わかりやすいのだけれど、自分でも例を思いついたので書きとめておく。 ステートフルサーバとステートレスサーバはどう違うのか。 まずは、ステートフルの例: 客: こんにちは 店員: いらっしゃいませ。○○バーガーへようこそ 客: ハンバーガーセットをお願いします 店員: サイドメニューは何になさいますか? 客: ポテトで 店員: ドリンクは何になさいますか? 客: ジンジャーエールで 店員: +50円でドリンクをLサイズにできますがいかがですか? 客: Mでいいです 店員:
さて、前回で、RESTというスタイルで考えた場合、既存のシステムとは異なるURL体系になることがわかった。 これは何もおかしなことではなく、既存のwebアプリではアプリケーション(というよりもインターフェースか?)が前面に出ており、実際に操作したいリソースはDBという形で見えなくなっており、RESTではそれを覆して、リソースを前面に押し出し、アプリケーション(インターフェース)をプロトコルの中に格納したからだろう。 というわけで、URLについてもう少し考えてみることにする。 まずは先送りにした検索について考えてみようと思う。 会議室予約システムを考えた場合、検索したいのは「空いている会議室」だけだろう。 そこで、空いている会議室を検索する方法(URL)についてのみ考えてみる。 まず、既存のシステムだとどのようになるだろうか? 多分こんな感じになるんじゃないだろうか? http://intr
JavaScript-XPath とは JavaScript-XPath は、 DOM 3 XPath を実装していないブラウザに対して、実用的な速度で動作する DOM 3 XPath のエンジンを追加します。 一言で乱暴に言ってしまえば、どのブラウザでも document.evaluate って関数で XPath 使えるようになるよ!ってことです。 以下が公式サイトになります。 http://coderepos.org/share/wiki/JavaScript-XPath DOM 3 XPath ってなんなの!? めっちゃ簡単(で、ちょっとだけ適当)なDOM 3 XPath の説明をします><。 JavaScript でよく使う document.getElementById や document.getElementsByTagName って関数ありますよね? DOM 3 XPath
日本人で唯一W3CのXMLワーキンググループに参加しXMLの標準化プロセスに携わったXMLの生みの親、村田真さんのブログです。 Atomのさまざまの拡張と検証 以前の記事でAtomとその拡張をまとめて検証するためのスキーマを示した。 ほかにどんな拡張があるかとAtom Syntaxメーリングリストで聞いてみたところ、 他にも以下の拡張がよく使われているとJames Snellから返答があった。 RFC 4946 Atom License Extension。スキーマはRELAX NG Atom Bidi Extension。スキーマはRELAX NG MicrosoftのSimple Sharing Extensions。スキーマはなく英文のみ GData。スキーマはなく英文のみ GeoRSS。スキーマはW3C XML Schema Dublin Core。スキーマはDTD Yahoo M
2007年09月09日13:24 by 山崎泰宏 政治的理由で大手ベンダはノータッチ? カテゴリワークスタイル雑談 Tweet sparklegate Comment(2)Trackback(0) RESTで有名な山本陽平さんの記事よりREST の勝利宣言と良い XML の見分け方政治的理由で大手ベンダはノータッチとあるが、そうでもない。 RECRUIT + Sun microsystems - Mash up Award複雑化するWebシステムの連携を最適化する「システム連携導入支援サービス」を開始この他にも結構あるのだろうと思うけど、ひとまずブックマークしてあったところから取り急ぎ。 結局、B2B分野でシステム開発を行っているだけであれば、RESTなんてキーワードはお客様からも出てこないし、ウチはRESTでバリバリでっせと布教したところで「うーん、何でもいいんだけど、ちゃんと動くの?」
先日のhack-a-thonでMTHatenaStar以外に実はもう1つプラグインを作っていて、でも諸般の事情で完成に至らなかったものがありました。hack-a-thonの最後の発表で、動くところまで見せたんですが、MTHatenaStarと立て続けにやったので、「どんだけはてな好きやねん」などと突っ込まれる始末。 今朝からid:naoyaさんのヘルプを受けて完成したので公開します。MT4のコメント投稿者認証フレームワークとはてな認証APIを使って、はてなIDでコメントできるようにするというものです。このブログでもインストールしてあるので、はてなIDでコメントしてみてください。 はてな認証APIのページで、ご自分のブログ用のAPIキーと秘密鍵を取得する。このとき、コールバックURLとして指定するURLは、コメントフォームのPOST先、つまりCGIPath+CommentScriptの値(既
日本人で唯一W3CのXMLワーキンググループに参加しXMLの標準化プロセスに携わったXMLの生みの親、村田真さんのブログです。 SOAPの単純さ? SOAPの歴史についての素晴らしい読み物がある。Peter Laceyの“The S Stands for Simple”である。山本さんによる素晴らしい翻訳「S はシンプルの S」で、私はこれを知った。広い範囲の人にぜひ読んでほしい。 しかし、“The S Stands for Simple”を「S はシンプルの S」と訳すところを見ると、山本さんはSF好きなのかな? 投稿者: 村田 真 / 日時: 2007.01.27 トラックバック このエントリーのトラックバックURL: http://blog.xmlmaster.org/mta/mt-tb.cgi/12
Podcastle Night。 Wikiばなとはまた違った「お仕事帰りに気楽に聞ける」Wiki小話、第七回を開催します。このイベントでは、今、気になるあの人に、1時間ぐらいのトークセッションをお願いします。 第七回は、12月8日にサービスが開始された「Podcastle」について、プロジェクトメンバーである江渡さん、緒方さん、上津さんにセミナーをお願いします。 概要 最近では、ポッドキャスト(音声ブログ、ボイスログ)も普及傾向にあり、海外ではこれを音声認識によりテキスト化し全文検索できるサービスなども提供されています。 Podcastleは、日本語ポッドキャスト対応した初のポッドキャスト全文検索、全文閲覧を可能にしたシステムです。また、サイト利用者が誤認識を含むテキストを修正でき、それが認識精度向上にフィードバックされる「ソーシャルアノテーション」の仕組みを持つことも特徴で、この修正の仕
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く