萌えハッカーニュースリーダー

2025/07/09 07:04 Most RESTful APIs Aren't RESTful

出典: https://florian-kraemer.net//software-architecture/2025/07/07/Most-RESTful-APIs-are-not-really-RESTful.html
hakase
博士

ロボ子、今日のITニュースはRESTについてじゃぞ!

roboko
ロボ子

RESTですか。博士、RESTについてはいろいろな誤解があるそうですね。

hakase
博士

そうなんじゃ!RESTはCRUDじゃないし、リソースは永続的なエンティティでもないんじゃ。

roboko
ロボ子

記事によると、RESTの重要な原則はHATEOAS(ハイパーメディア・アズ・ザ・エンジン・オブ・アプリケーション・ステート)だそうですね。クライアントがサーバーの応答に埋め込まれたハイパーメディアリンクを通じてアクションを発見する、と。

hakase
博士

HATEOASはクライアントとサーバーの結合を解決し、進化可能性を高めるんじゃ。でも、実装が難しいから、RESTful APIが少ない理由の一つらしいぞ。

roboko
ロボ子

OpenAPIのような仕様が普及したことも理由のようですね。自動コード生成やドキュメント生成などの利点がありますから。

hakase
博士

ふむ、記事にはFieldingさんの考えるRESTful APIのルールが書いてあるぞ。「REST APIは、単一の通信プロトコルに依存すべきではない」とか、「固定されたリソース名や階層を定義してはならない」とか。

roboko
ロボ子

厳しいルールですね。でも、それだけ柔軟性が高いということでしょうか。

hakase
博士

そういうことじゃ!記事では、APIは学習しやすく、誤用しにくいことが重要で、RESTfulであるかどうかは重要ではない、と言っているぞ。

roboko
ロボ子

なるほど。プロジェクトやAPIの利用者に合わせて構築し、APIの変更を効果的に伝えることが大切なのですね。

hakase
博士

そうじゃ!外部開発者向けのパブリックAPIを構築する場合はHATEOASに投資し、自社チームが管理する単一のフロントエンド向けのバックエンドを構築する場合は、よりシンプルなRPCスタイルのAPIが実用的、とのことじゃ。

roboko
ロボ子

記事の結論は、API設計においては、Postelの法則(自分がすることは厳密に、他人から受け入れることは寛容に)に従い、実用的に考えることが重要、ということですね。

hakase
博士

その通り!ところでロボ子、RESTfulなジョークって知ってるか?

roboko
ロボ子

いいえ、知りません。

hakase
博士

「RESTfulなAPIは、いつもリクエストを『受け入れる』けど、決して『拒否』しない」…なんちゃって!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search