Swagger Core Javaライブラリにおける初のOAS 3.0サポート

  2017年8月24日

Swaggerチームは、swagger-coreとswagger-parserの両方の最初のリリース候補を発表できることを誇りに思っています。OpenAPI Specification 3.0.0 (OAS 3.0) をサポートしています!

新しいバージョンの仕様がリリースされたことで、ユーザーの皆様がそれを試したいと熱望していることと確信しています。以前、Swagger UIとSwagger Editorの両方でOAS 3.0のサポートを公開しましたが、今度はJavaの世界がその一歩を踏み出す番です。

新しいライブラリのリリースはアーリーアダプター向けであり、以下に挙げるいくつかの既知の制限事項があります。この最初のリリースでは、問題の報告や修正を含むPRの提出にご協力をお願いいたします。リリース候補であるため、最終リリースまでAPIが変更される可能性があり、アプリケーションに破壊的な変更をもたらす可能性があることにご注意ください。

Swagger-coreおよびSwagger-parserの新機能

Swagger-coreは、JAX-RSやサーブレットなどのいくつかのJavaテクノロジーと統合してOpenAPI定義を生成することを可能にするモジュールのセットです。しかし、swagger-coreはそれだけではありません。OpenAPI標準でAPI定義を表現するためのモデルのセットと、コードに追加情報を付与するために使用できるアノテーションのセットも提供します。これらのモジュールは、Swaggerツールセットの下の他のプロジェクトやコミュニティツールによって使用されています。

swagger-coreの新しいバージョンは、コードのメジャーな書き換えを意味し、現在2.0.0-rc1という番号が付いています。このバージョンは、いくつかの重要な機能と変更点を提供します。

  • OAS3のみをサポートします。以前のswagger-coreバージョンと同様に、サポートされる仕様バージョンは1つだけです。
  • 久しぶりのメジャーバージョンリリースとして、アノテーションは完全に書き直され、新しいバージョンの仕様をサポートするように調整されました。
  • これは、swagger-core 2.Xが以前のバージョンからの破壊的変更であることを意味します。
  • 現在のRCはJAX-RS2のみをサポートしています。
  • コードベースはJava 8を使用しています。

完全なリリースノートを読んで、詳細情報を入手することをお勧めします。コード自体は2.0ブランチにあり、公式の安定版リリースまでそこに残ります。また、今後数週間で新しい統合に関するドキュメントをwikiで提供し始めます。

OpenAPI定義のデシリアライザーであるSwagger-parserもバージョン2.0.0-rc0でリリースされました。swagger-coreと同様に、これはOAS3定義の読み込みとモデルツリーへの解析をサポートします。このプロジェクトには、OAS2からOAS3へのコンバーターも含まれており、そのような定義を解析しようとすると自動的に使用されます。swagger-coreと同様に、コード自体は2.0ブランチにあり、公式の安定版リリースまでそこに残ります。

他のSwagger Javaプロジェクトはどうなりますか?

良い質問ですね!現在、swagger-coreの拡張、swagger-parserのコンバーターの改善、およびOAS3サポートを備えたswagger-inflectorの新しいバージョンの実装に注力しています。

validator-badgeとswagger-codegenが次に続きます!

Swaggerチームがリリースしている最新情報については、Twitter @SwaggerAPIをフォローするか、ブログのサイドバーで購読してください。