一覧はこちらデジタルビジネス時代を迎え、API連携へのニーズがこれまで以上に高まっている現在、API仕様を管理するOSSフレームワーク「Swagger」(スワッガー)が大きな注目を浴びています。本連載では、同フレームワークの未経験者・初心者を対象に、その概要や基本的な使い方を解説していきます。仕様と実装の乖離が許されないAPIシステム開発のトレンドとして、マイクロサービス化が進んできています。モノリス(一枚岩)スタイルの開発に比べて、アプリケーションの単位は小さくなり、多くのサービスが構築されます。APIなどさまざまなAPIを組み合わせて素早くシステムを構築します。Webでは、2017年1月時点で16,590以上のAPIが検索可能で、2009年9月の10倍以上、2006年5月の90倍近くに達しています。いったマイクロサービス・APIエコノミーの開発現場では、一体どのようなことが起こっているのでしょうか。Androidのアプリから叩いているサーバのAPIが機能追加されたために、3日間かけてテストして終わったと思ったら、いつのまにか更なる仕様変更が入っていた。APIのインタフェースを定義するドキュメントの仕様に従ってアクセスしたら、実は実装との乖離があり、うまく動かなかった。このようにAPIプロバイダとAPIコンシューマ間の悩みはさまざまです。いずれもサービスインに影響を及ぼす重大な問題と言えます。インタフェースの向こうの世界は関与できないことが多いだけに、仕様と実装の乖離はあってはならないものなのです。APIエコノミーを作るにあたり、このようなことを起こさないためにも、APIについて正しく記述した仕様書が必要となってきます。APIのインタフェース仕様書の位置付けSwaggerとはSwaggerはこうした課題に対する解決のアプローチを提供します。APIを構築するためのオープンソースのフレームワークです。OAIは、2015年11月にマイクロソフトやグーグルなどによって結成され、Swaggerを用いてAPIの標準化を推し進めています。Specと、以下のツール群から構成されます。Spec(Swagger仕様)こそがSwaggerの中核をなすものになります。SwaggerはSOAからマイクロサービスへ開発のスタイルをシフトする流れの中で出てきた技術とも言えます。Editorを使ってみることです。Example]をクリックします。examples]にて[minimal.yaml]を選択し、[Open]をクリックします。Editorでminimal.yamlをオープン以下の画面が表示されます。左側のペインがエディタとなっています。Swagger仕様に準拠したYAML形式で記載されており、修正すると、右側のペインと同期されます。operation]をクリックすることで、APIを試すことができます。Request]をクリックすることで、APIを実行でき、[Response]に結果が表示されます。APIを構築するためのJSON形式もしくはYAML形式で書かれたドキュメントです。前節で動作させたYAML形式の例は以下の通りです。OKまた、JSON形式でも記述することができ、以下の通りになります。JSON]から、ダウンロード可能です。APIという名前のAPIのバージョンは0.0.0です。URL定義したパスは[/]のみであり、[http://localhost/]といった形でリソース直下のURLにGETアクセス可能です。この例は極めてシンプルな例ですので、パラメータはなく、ステータスコードとして200を返します。*マイクロサービスやAPIエコノミーが進展する状況においては、SwaggerのようなAPI間のインタフェース仕様管理ツールの存在の重要性は増すばかりです。UIを使うとどういった形でAPIプロバイダとAPIコンシューマ間で共有可能なドキュメントが構築できるかを説明します。Breakerや、OAuthによるセキュリティの担保といった非機能面の考慮も必要になってきます。APIエコノミーに関して詳細は拙著「APIエコノミーの作り方」をご参照ください。シニア・エキスパート2011年頃まで開発自動化技術のR&Dに従事。その後、開発プロジェクト支援やトラブルシューティング等に主戦場を移す。Code等の「基盤自動化」の魅力に惹かれている。開発自動化技術に関する雑誌・記事執筆も行う。本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。人気記事をお届けしますダウンロードBOXに入れる記事をダウンロードBOXに追加します。よろしいですか?ブックマーク記事をブックマークに追加します。Corporation。