タグ

restに関するjukuringoのブックマーク (8)

  • すべての Web サービス設計者に捧ぐ「RESTful って結局なんなんだ」

    誰もがその戦いの背景にある歴史の深淵と人々の覚悟を見誤っていた。開戦初日に決着が付くと高を括って鼻歌混じりに筆を取った私は、気が付けば夏休みの8割を喪失し、すべての指が腱鞘炎で悲鳴を上げる中で参考文献の海に這いつくばっていた。 —— Josh Nobus —— ぜんぜんわからない 俺たちは雰囲気で REST をやっている 何度調べてもなんだかよく分からない概念ランキングの個人的 Top5 に入る言葉。 それが「REST」だ。 いろんな Web サービスの REST API はよく使わせてもらっているし、REST API が何かと聞かれれば「その Web サービスの機能を HTTP リクエストで呼び出せる API エンドポイントのことだよ」みたいにそれっぽくお茶を濁すことはできると思うが、じゃあ自分で RESTful なサービスを作ってみろと言われたら私は作れない。作れなかった。 だってどん

    すべての Web サービス設計者に捧ぐ「RESTful って結局なんなんだ」
  • HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様

    今日では HTTP(s) で API が公開されることは当たり前の時代ですが、エラーをアプリケーションにどう伝えるかは、個々の API の設計に依存していました。特に、HTTP ステータスコードは有限であり、元々持っている意味があるので、自由に使うことはできません。API はそのドメインごとにもっと複雑で細かなエラー情報があるはずで、それらはレスポンスボディに載せてアプリケーションに伝えることになりますが、その書式に規定は今までありませんでした。 HTTP API にて、アプリケーションにエラー情報を伝達するための(レスポンスボディに載せられる)標準的な形式が、RFC7807 Problem Details for HTTP APIs で定められています。適用例としては、以下のようになります。 HTTP/1.1 403 Forbidden Content-Type: application

  • Swaggerとは何か? - プログラマでありたい

    最近、Swaggerという単語を聞く機会が増えていませんか?MicrosoftGoogle,IBMが、REST APIの記述標準化を目指した「Open API Initiative」という団体を立ち上げ、そのベースをSwaggerを利用するということで一躍注目を集めるようになりました。しかし、Swaggerというものを調べるとツールの話やドキュメントの話が出てきて、何なのこれとなることが必定です。ということで、WebAPIとは切っても切れない関係のSwaggerの話を簡単にしてみます。 Swaggerとは? Swaggerとは、一義的にはREST APIを記述する為の仕様です。当初から、Swaggerが標準の仕様になることを目指しますよと宣言していて、米国等ではデファクト・スタンダードとなっていました。それが、「Open API Initiative」が出来たことにより、実際に標準の仕様

    Swaggerとは何か? - プログラマでありたい
  • HerokuのAPIデザイン

    Herokuが自ら実践しているAPIデザインガイドをGithubに公開した. “HTTP API Design Guide” このガイドは些細なデザイン上の議論を避けて,ビジネスロジックに集中すること目的としている.Heroku特有なものではなく,一般にも十分適用できる知見となっている. 最近は,モバイル向けにAPIをつくることも多いため,勉強もかねて抄訳した.なお内容は,HTTP+JSONのAPIについて基的な知識があることが前提となっている. 適切なステータスコードを返す それぞれのレスポンスは適切なHTTPステータスコード返すこと.例えば,“成功"を示すステータスコードは以下に従う. 200: GETやDELETE,PATCHリクエストが成功し,同時に処理が完了した場合 201: POSTリクエストが成功し,同時に処理が完了した場合 202: POSTやDELETE,PATCHリク

  • 最近のRESTの進化。バージョン番号、状況報告、プロダクトとしてのAPI

    RESTの時代がやってくるのだ、という記事を1つ前の「時代はRESTへ。SOAPの終わりを象徴する、Webサービス標準化団体のWS-Iが活動終了」で紹介しましたが、そのRESTも使われ方が進化してきているのだ、ということを、その記事の中でとりあげたProgrammableWebのJohn Musser氏が公開しているの資料の中で解説しています。 3つ紹介しましょう。 バージョン番号の組み込み 最近のREST APIにはバージョン番号がURIに埋め込まれるようになったとのこと。 利用者に状況報告 レイテンシーがどうなっていて、正常稼働しているかどうかといった報告を利用者に対してきめこまかく報告するようになったと。APIに依存した外部サービスが増えたためでしょうね。

    最近のRESTの進化。バージョン番号、状況報告、プロダクトとしてのAPI
  • ウェブサービス(Web API)をプログラムから使う

    ウェブサービス(Web API)をプログラムから使う 2009-12-26-2 [WebAPI][Programming] 前回[2009-12-24-1]はウェブサービス(Web API)の基的事項と、よく採用されているプロトコルとデータ構造の概要を解説した。 プロトコルとデータ構造の組み合わせ、計4つのうち3つを取り上げて、実際にプログラムから Web API を使う方法を例を用いて説明する。 今回取り上げるサンプルプログラムで使った Web API と用いたプログラム言語を表に示す: プロトコル\データ構造XMLJSON, JSONPREST風MECAPI, Perlキーフレーズ抽出API, JavaScriptSOAP, XML-RPCはてブ件数取得API, Perl- REST風 + XML Web API をREST風プロトコルでアクセスしXMLデータを得る流れを perl

    ウェブサービス(Web API)をプログラムから使う
  • XML-RPC,SOAP,RESTに関する調査 - hikm's blog

    以前ブログにも書きましたが、XML-RPC,SOAP,RESTの区別が全然出来ていないという困った状況だったので、ちょっと気合を入れて調べてみました。 以下、それぞれの特徴を簡単にまとめたメモ。 XML-RPC(XML Remote Procedure Call) 1998年に策定された、比較的シンプルな仕様。 XMLを利用してネットワーク越しにサーバー側のなんらかの処理を呼び出し、結果をXMLで受け取る。 クライアントからサーバーへのアクセスには、HTTPのPOSTを用いる。 リクエストはHeaderと、Bodyで構成される。Body部分はXMLで表現する。 Header部分の、「User-Agent」、「Host」、「Content-Type」、「Content-Length」は必須。 戻り値は複数の値をとれないが、戻り値を配列にすることで複数の値を返せる。 SOAP(Simple O

    XML-RPC,SOAP,RESTに関する調査 - hikm's blog
  • REST vs SOAP

    GET /WebSite1/WebService.asmx/getHello?str=string HTTP/1.1 Host: localhost HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <string xmlns="http://tempuri.org/">string</string> RESTは、WebブラウザのAjaxや、クライアントアプリから使う場合もあるが、サーバ間のシステム連携でも使う。 RESTの最大の特徴は「WebブラウザにURLを入力すれば動作確認できる」事である。 Webブラウザで容易に動作確認ができるため、すでに存在しているサービスに対しては「まずはアクセスしてみて必要な情報

  • 1