📚
CRUDとHTTPメソッド
WEBを支える技術で学んだCRUDとHTTPメソッドについてです。
CRUDとHTTPメソッドの対応
CRUD | 意味 | メソッド |
---|---|---|
Create | 作成 | POST / PUT |
Read | 読み込み | GET |
Update | 更新 | PUT |
Delete | 削除 | DELETE |
GET
GETはURIの情報を取得する。Webページの取得、画像の取得、フィードの取得など・・・を行う。
リクエスト例
GET /list HTTP/1.1
Host: example/jp
レスポンス例
HTTP/1.1 201 Created
[
{"uri": "http://example.jp/list/item1"},
{"uri": "http://example.jp/list/item2"}
]
POST
1.子リソースの作成
リクエスト例
POST /list HTTP/1.1
Host: example/jp
こんにちは!
レスポンス例
HTTP/1.1 201 Created
Location: http://example.jp/list/item3
こんにちは!
/listに対して新しい子リソースが作成するようにPOSTで指示すると、/listの下に新たにlist/item3というリソースを生成する。
2.リソースへのデータの追加
リクエスト例
POST /log HTTP/1.1
Host: example/jp
2010-10-10T10:13:00Z, GET /log, 200
レスポンス例
HTTP/1.1 200 OK
データの追加のため、レスポンスでは200OKが返された。POSTが作成を意味するのかデータの追加を意味するのかはサーバ側の実装に依存する。
3.ほかのメソッドでは対応できない処理
PUT
リソースの内容の更新と、リソースの作成を行う。
1.リソースの更新
「こんにちは!」のリソースを「こんばんは!」に更新する。
リクエスト例
PUT /list/item3 HTTP/1.1
Host: example/jp
こんばんは!
レスポンス例
HTTP/1.1 200 OK
こんばんは!
2.リソースの作成
example/jp/itemがまだ存在しない場合。
リクエスト例
PUT /item HTTP/1.1
Host: example/jp
/itemの内容
レスポンス例
HTTP/1.1 201 Created
/itemの内容
存在しないURIへのリクエストのため、新しく作成すると解釈して、リクエストが成功した場合は201を返す。/itemがすでに存在していた場合は、リソースの更新処理となる。
DELETE
リソースを削除するメソッド。
リクエスト例
DELETE list/item2 HTTP/1.1
Host: example/jp
レスポンス例
HTTP/1.1 200 OK
参照文献
Discussion