カスタム検索
表示順:
Relevance
Relevance
Date
ウェブ
 
 
 

REST API仕様からAPIクライアントやスタブサーバを自動生成する「OpenAPI Generator」オープンソースで公開。Swagger Codegenからのフォーク

2018年5月15日


RESTful APIの仕様を基に、APIクライアント用SDK、APIクライアントのテスト用にAPIサーバのように振る舞ってくれるスタブサーバ、Webサーバのコンフィグレーション、ドキュメントなどを自動生成してくれる「OpenAPI Generator」がオープンソースとして公開されました

OpenAPI Generator

RESTful API仕様の記述フォーマットは、2015年にマイクロソフトやGoogle、IBMらが立ち上げた「Open API Initiative」が提唱する「OpenAPI Specification」が事実上の業界標準となっており、OpenAPI GeneratorもこのOpenAPI Specificationを基に開発されています。

OpenAPI Generatorは、このOpenAPI Specificationに従ったAPI仕様を基に、ActionScript、Ada、Apex、Bash、C#、Clojure、Dart、Elixir、Elm、Eiffel、Erlang、Go、Groovy、Haskell、Kotlin、Lua、Node.js、Objective-C、Perl、PHP、PowerShell、Python、R、Ruby、Rust、Scala、Swift、Typescriptなど多様な言語でのAPIクライアントのコードを生成。

Ada、C#、C++、Erlang、Go、Haskell、Java、Kotlin、PHP、Python、Node.js、Ruby、Rust、Scalaなどに対応したスタブサーバのコードも生成。

さらにApache 2に対応したコンフィグレーションファイルおよびHTMLとConfluence Wikiに対応したドキュメントなどを生成する機能も備えています。

OpenAPI GeneratorはSwagger Generatorからのフォーク

OpenAPI Specificationを基にAPIクライアントやスタブサーバのコードを生成するオープンソースプロジェクトとして、以前からSwagger Codegenがありました。今回公開されたOpenAPI Generator」は、このSwagger Codegenをフォークして始められたプロジェクトです。

Swagger Codegenは、OpenAPI Specificationのベースとなったオープンソースプロジェクト「Swagger」の一部であり、いわばOpenAPI Specificationの直系プロジェクトです。そして現在Swaggerは、その開発元であったReverb Technologies社を2015年3月に買収したSmartBear社が中心となって開発しています。

なぜそこからフォークされたOpenAPI Generatorのプロジェクトがスタートしたのか、OpenAPI Generatorの「Question and Answer」にあるOpenAPI Generator側の主張としては、Swagger Codegen 3.0の開発において主要なコミュニティメンバーの主張がSmartBearに受け入れられなかったためだとしています。

例えば、Swagger Codegen 3.0の開発で次のようなことが行われたと説明されています。下記は抜粋した上で訳したもの。

Swagger Codegen 3.0.0 beta contains too many breaking changes

Swagger Codegen 3.0.0ベータ版は多くの後方互換性を破壊する変更が行われた。

Changes made directly to 3.0.0 branch without reviews or tests

変更はレビューやテストもなく3.0.0ブランチに対して直接行われた

Reviews of code changes in the 3.0.0 branch highlighted a lot of code block removal without any reason. This might produce regressions for edge cases discovered previously.

3.0.0ブランチの変更されたコードをレビューすると、理由もなく多くのコードが消去されていることが判明した。これによって過去に修正されていた細かいケースにおけるバグが復活するだろう

コミュニティ側は、Swagger Codegen 3.0の開発について既存のバージョンを基に、昨年7月に発表されたOpenAPI Specification 3.0対応にフォーカスすべきと考えていましたが、SmartBear社側はそうではない開発方針を持っていたようです。

そこでコミュニティ側のメンバーは、開発方針の食い違いについてSmartBear社と対話を試みましたが、結局合意にいたることはなかったとのこと。

There was several conversations with SmartBear (Ron, Hugo) via emails, gitter, Skype call and GitHub issues. But there was no consensus on the next steps and on the direction for Swagger Codegen 3.0.0.

SmartBear(RonとHugo)と何度かメールやGitter、Skype、GitHubなどで対話を行ったが、Swagger Codegen 3.0.0に向けた建設的な合意には達しなかった。

これによってSwagger CodegenのトップコントリビュータだったWilliam Cheng氏をはじめとする40名以上の開発者がSwagger Codegenをフォークし、OpenAPI Generatorの開発をスタートしたとのことです。

関連記事

follow us in feedly

カテゴリ 開発ツール / 言語 / プログラミング
タグ  OpenAPI


前の記事
App Engineが軽量コンテナのgVisorを実行環境として採用、スタンダード環境でNode.jsをサポート開始


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

人気記事ランキング

  1. [速報]ChromebookがLinuxの実行を正式サポート。Android Studioも実行可能に。Google I/O 2018
  2. [速報]AIが人間と自然な会話をし、電話で美容院やレストランを予約。Googleがデモを公開。Google I/O 2018
  3. [速報]AIがコードのレコメンドやバグの指摘など開発を支援してくれる「Visual Studio IntelliCode」発表。Build 2018
  4. [速報]Androidアプリの開発を加速するツールとライブラリ、「Android Jetpack」発表。Google I/O 2018
  5. 2018年第1四半期、クラウドインフラ市場でAWSのシェアは揺るがず33%前後、マイクロソフト、Googleが追撃、IBMは苦戦中。Synergy Research
  6. Google、機械学習専用の第三世代プロセッサ「TPU 3.0」を発表。Google初の液冷システム採用。Google I/O 2018
  7. Angular 6が正式リリース。コンポーネントのDOMエレメント化、PWA対応など新機能。ng-conf 2018
  8. 次世代Angularレンダリングエンジン「Ivy」発表、さらに小型化し高速になる実行とコンパイル。ng-conf 2018
  9. [速報]モバイルアプリに顔認識など機械学習の機能を組み込める「ML Kit」、Googleが発表。Google I/O 2018
  10. マイクロソフト、AzureでトレーニングさせたAIモデルをDockerコンテナでパッケージ、Windows、Linux、ラズパイ、ドローンなどへデプロイ可能に。Build 2018


新着記事 10本


PR - Books


fig

fig

fig