「RESTful」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (ページの作成:「'''RESTful'''とは、Webサービスの設計方法のひとつである「REpresentational State Transfer(REST)に則り作られたもの(ful)という…」) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
− | '''RESTful'''とは、[[Webサービス]]の設計方法のひとつである「REpresentational State Transfer([[REST]] | + | '''RESTful'''とは、[[Webサービス]]の設計方法のひとつである「REpresentational State Transfer([[REST]])」に則り、作られたもの(ful)という意味です。 |
− | + | RESTfulなWebサービスは[[HTTPプロトコル]]を使用して[[データ]]を転送する[[API]]であり、[[Webアプリケーション]]の開発でよく使用されます。 | |
− | + | == 原則 == | |
+ | RESTfulなWebサービスは、以下の原則に従って設計されます。 | ||
+ | これらの原則に従って設計されたRESTfulなWebサービスは、柔軟性があり、拡張性が高く、シンプルで理解しやすいインターフェースを提供することができます。 | ||
+ | |||
+ | ; リソースの識別 | ||
+ | 各リソースは[[URI]]で一意に識別されます。ここでいうリソースとは[[SQL]]でいう「レコード」に相当するものです。 | ||
+ | |||
+ | ; リソースの操作 | ||
+ | [[HTTPメソッド]](GET、POST、PUT、DELETE)を使用してリソースに対する操作を定義します。 | ||
+ | この操作は[[SQL]]でいう「[[CRUD]](CREATE,READ,UPDATE,DELTE)」に相当するものです。 | ||
− | + | ; メッセージの自己完結性 | |
− | + | 各メッセージは必要な情報をすべて含んでいるためセッション状態を持ちません。 | |
− | |||
− | |||
− | + | ; ハイパーリンクの使用 | |
+ | リソース間の関連性は[[ハイパーリンク]]を使用して簡単にアクセスできるようにします。 | ||
+ | 一般的な[[データベース]]では「リレーション」を表現するのに関連するレコードのユニークIDを保持することが多いですが、RESTでは一歩踏み込んで別リソースへの[[ハイパーリンク]]まで作り上げて[[データ]]を返してあげます。 |
2023年3月29日 (水) 01:26時点における最新版
RESTfulとは、Webサービスの設計方法のひとつである「REpresentational State Transfer(REST)」に則り、作られたもの(ful)という意味です。
RESTfulなWebサービスはHTTPプロトコルを使用してデータを転送するAPIであり、Webアプリケーションの開発でよく使用されます。
原則[編集 | ソースを編集]
RESTfulなWebサービスは、以下の原則に従って設計されます。 これらの原則に従って設計されたRESTfulなWebサービスは、柔軟性があり、拡張性が高く、シンプルで理解しやすいインターフェースを提供することができます。
- リソースの識別
各リソースはURIで一意に識別されます。ここでいうリソースとはSQLでいう「レコード」に相当するものです。
- リソースの操作
HTTPメソッド(GET、POST、PUT、DELETE)を使用してリソースに対する操作を定義します。 この操作はSQLでいう「CRUD(CREATE,READ,UPDATE,DELTE)」に相当するものです。
- メッセージの自己完結性
各メッセージは必要な情報をすべて含んでいるためセッション状態を持ちません。
- ハイパーリンクの使用
リソース間の関連性はハイパーリンクを使用して簡単にアクセスできるようにします。 一般的なデータベースでは「リレーション」を表現するのに関連するレコードのユニークIDを保持することが多いですが、RESTでは一歩踏み込んで別リソースへのハイパーリンクまで作り上げてデータを返してあげます。