「RESTful」の版間の差分

提供:MonoBook
編集の要約なし
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
'''RESTful'''とは、[[Webサービス]]の設計方法のひとつである「REpresentational State Transfer([[REST]])に則り作られたもの(ful)という意味です。
'''RESTful'''とは、[[Webサービス]]の設計方法のひとつである「REpresentational State Transfer([[REST]])」に則り、作られたもの(ful)という意味です。


RESTfulなWebサービスは、[[HTTPプロトコル]]を使用して[[データ]]を転送する[[API]]であり、Webアプリケーションの開発でよく使用されます。
RESTfulなWebサービスは[[HTTPプロトコル]]を使用して[[データ]]を転送する[[API]]であり、[[Webアプリケーション]]の開発でよく使用されます。


RESTfulなWebサービスは、以下の原則に従って設計されます:
== 原則 ==
RESTfulなWebサービスは、以下の原則に従って設計されます。
これらの原則に従って設計されたRESTfulなWebサービスは、柔軟性があり、拡張性が高く、シンプルで理解しやすいインターフェースを提供することができます。


# リソースの識別:各リソースはURIで一意に識別されます。ここでいうリソースとは[[SQL]]でいう「レコード」に相当するものです。
; リソースの識別
# リソースの操作:[[HTTPメソッド]](GET、POST、PUT、DELETE)を使用して、リソースに対する操作を定義します。この操作は[[SQL]]でいう「[[CRUD]]」に相当するものです。
各リソースは[[URI]]で一意に識別されます。ここでいうリソースとは[[SQL]]でいう「レコード」に相当するものです。
# メッセージの自己完結性:各メッセージは必要な情報をすべて含んでいるためセッション状態を持ちません。
# [[ハイパーリンク]]の使用:リソース間のリンクを使用して関連するリソースに簡単にアクセスできるようにします。[[SQL]]でいう「リレーション」を表現する場合は他テーブルのユニークIDを保持することが多いですが、RESTでは別リソースへのリンク(URI)で表現するのでリソース名(テーブル名)まで一目瞭然です。


これらの原則に従って設計されたRESTfulなWebサービスは、柔軟性があり、拡張性が高く、シンプルで理解しやすいインターフェースを提供することができます。
; リソースの操作
[[HTTPメソッド]](GET、POST、PUT、DELETE)を使用してリソースに対する操作を定義します。
この操作は[[SQL]]でいう「[[CRUD]](CREATE,READ,UPDATE,DELTE)」に相当するものです。
 
; メッセージの自己完結性
各メッセージは必要な情報をすべて含んでいるためセッション状態を持ちません。
 
; ハイパーリンクの使用
リソース間の関連性は[[ハイパーリンク]]を使用して簡単にアクセスできるようにします。
一般的な[[データベース]]では「リレーション」を表現するのに関連するレコードのユニークIDを保持することが多いですが、RESTでは一歩踏み込んで別リソースへの[[ハイパーリンク]]まで作り上げて[[データ]]を返してあげます。
 
[[category: デザインパターン]]

2025年3月5日 (水) 06:22時点における最新版

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では一歩踏み込んで別リソースへのハイパーリンクまで作り上げてデータを返してあげます。