メインコンテンツへ
開発技術開発プロセス・手法

REST(REpresentational State Transfer)に基づくAPI設計の原則として、最も適切なものはどれか。

ア.リソースをURLで識別し、HTTPメソッド(GET・POST・PUT・DELETE等)でリソースへの操作を表現し、ステートレスな通信を行う正解
イ.すべての操作をPOSTメソッドで行い、リクエストボディに操作の種類を記述する設計原則
ウ.サーバがクライアントのセッション状態を保持することで、通信の効率を高めるアーキテクチャスタイル
エ.XML形式のメッセージとSOAPエンベロープを使用してWebサービス間でデータを交換する通信規約

解説

RESTは「名詞(URL)と動詞(HTTPメソッド)の組み合わせ」でAPIを設計するルール。/usersというURLに対してGETなら一覧取得、POSTなら新規作成、DELETEなら削除——英文法のような直感的な設計です。

なぜ ア が正解か

REST(REpresentational State Transfer)の主要制約:①統一インタフェース:URLでリソースを識別(/users/123)、HTTPメソッドで操作(GET=読取、POST=作成、PUT=更新、DELETE=削除)。②ステートレス:各リクエストは完全な情報を含み、サーバはセッション状態を保持しない。③クライアント・サーバ分離。④キャッシュ可能。これらを満たすAPIを「RESTful API」と呼びます。

なぜ イ は間違いか

すべての操作にPOSTを使ってボディに操作種別を書く設計はRPC(Remote Procedure Call)スタイルに近く、RESTの原則に反します。RESTはHTTPメソッドで操作を表現します。

なぜ ウ は間違いか

サーバがセッション状態を保持するのはRESTの「ステートレス制約」に違反します。RESTは各リクエストが独立して完結するステートレス通信を要求します。

なぜ エ は間違いか

XMLとSOAPエンベロープを使う通信規約は「SOAP(Simple Object Access Protocol)」の説明です。RESTとSOAPは対比される異なるWebサービス設計スタイルです。

出典: AI生成問題(学習用)