RESTful (表現状態転送) API (アプリケーション プログラミング インターフェイス) DL (記述言語) は、人間と自動機械処理の両方に役立つRESTful Web APIの構造化された記述を提供するために設計された形式言語です。API 記述言語は、インターフェイス記述言語(IDL) と呼ばれることもあります。構造化された記述は、人間のプログラマー向けのドキュメントを生成するために使用される場合があります。同じツールによって生成されたすべてのドキュメントは同じ書式規則に従うため、このようなドキュメントは自由形式のドキュメントよりも読みやすい場合があります。さらに、記述言語は通常、さまざまなプログラミング言語から API にアクセスするためのライブラリなどのさまざまなソフトウェア成果物を自動生成できるほど正確であるため、プログラマーが手動で作成する負担が軽減されます。[1]
歴史
これまでの主要な記述言語は 2 つあります。WSDL 2.0 (Web サービス記述言語) とWADL (Web アプリケーション記述言語) です。どちらも RESTful API の記述には業界で広く採用されていません。その理由は、どちらも人間にとって読みにくいことと、WADL では RESTful API を完全に記述できないことです。[2]
原理
ハイパーテキスト駆動型API
RESTful API 構築の背後にある原理は、HATEOAS ( Hypermedia as the Engine of Application State ) という頭字語で知られています。このアプローチでは、クライアント ソフトウェアは、ドキュメントを通じて共有される静的なインターフェイス記述に書き込まれません。代わりに、クライアントにはエントリ ポイントのセットが提供され、API はこれらのエンドポイントとの対話を通じて動的に検出されます。HATEOAS は、Roy Fieldingの博士論文「Architectural Styles and the Design of Network-based Software Architectures」で紹介されました。HATEOAS は、REST とRPCメカニズムを区別する重要な要素の 1 つです。[3]
RESTful API DL のリスト
- Web サービス記述言語(WSDL)
- ヒドラ
- オープン データ プロトコル(OData)
参考文献
- ^ Zhai, Juan; Huang, Jianjun; Ma, Shiqing; Zhang, Xiangyu; Tan, Lin; Zhao, Jianhua; Qin, Feng (2016-05-14)。「Java API 関数のドキュメントからの自動モデル生成」。第38回国際ソフトウェア工学会議の議事録。ICSE '16。ニューヨーク、ニューヨーク、米国: Association for Computing Machinery。pp. 380–391。doi : 10.1145/2884781.2884881。ISBN 978-1-4503-3900-1. S2CID 2733669。
- ^ Fielding, Roy. 「REST API はハイパーテキスト駆動でなければならない」 。 2015 年11 月 4 日閲覧。
