本記事はRESTfullAPIとはなにかについて説明した記事となっています
※はじめて執筆する記事となるため、拙い文章だったら申し訳ございません(記事というより学生の学習ノート的な見方をしてもらえると助かります)
Restとは
RESTとはwebサービスの設計モデルのことです。
と一言でいうのは簡単ですが、正確に言うならWebシステムを外部から利用するためのプログラムの呼び出し規則です。
例えば、Google.comに接続したら必ず同じような画面が返される、といった同じURLからは常に同じ結果が返されることが期待され、検索バーに内容を入れたらその結果はHTTPメソッド(※後述)を使用し、XMLやHTML、JSONで返され、検索した結果どうだったか(検索した内容が存在していたのか、存在していなかったのか、処理に成功したのか、しなかったのか)がHTTPステータスコード(後述)で通知されるというような原則が含まれることもあります。
#RESTの原則
RESTには基本的な4つの設計原則が存在します。
1,セッションなどの状態管理は行わない(毎回初めましてでやり取りをする)
2, 情報を操作するためのメソッドがあらかじめ定義されている
定義されている主なメソッド例
メソッド | 操作 |
---|---|
GET | 取得 |
POST | 作成(送信) |
PUT/PATCH | 更新 |
DELETE | 削除 |
3,すべての情報はURLのような構文で一意に識別される。(データの住所を使って探せるよう)
4,データの内部に次のデータへのリンクを含められる
このような原則が存在することにより
・アクセスの集中に耐えやすい構造にできる
・URI/URLに規則が生まれ開発しやすくなったり
・XMLやJSONを扱う他サービスと連携しやすくなる
・標準的なデータを扱うことにより、様々なアプリケーションを提供できる
などといったメリットが生まれます
ステータスコード
Rest APIでは前述したように検索結果であるXMLやHTML、JSONのほかにHTTPステータスコードというその処理を行った結果成功したか、失敗したか、どうして失敗したかが含まれる値を返します。値に対応する意味は以下のようになっています
ステータス | 状態 |
---|---|
200 | OK(処理成功) |
201 | Created(リクエストが成功して新しいデータが作られたという状態) |
400 | Bad Request(送られたデータの形式が違う等のエラーステータス) |
401 | Unauthorized(ユーザーの認証情報がない時などに返されるステータス) |
403 | Forbidden(認証されているけど操作に対し権限がない時に返されるステータス |
404 | Not Found(そのリソース、ページが見つからないときに返されるステータス) |
405 | Mehod Not Allowed(そのページにはアクセスできるけどPOSTなどの操作を行えないときに返されるステータス) |
このようなステータスコードを返却することにより、予想外の動作に対して処理を描きやすくなったり、結果を見たときぱっと見でリクエストの結果が見やすくなったりします。