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

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

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

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

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

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

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

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

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

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

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

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

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

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

いいえ、知りません。

「RESTfulなAPIは、いつもリクエストを『受け入れる』けど、決して『拒否』しない」…なんちゃって!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。