in-house-swagger / in-house-swagger

in-house swagger-tools server

Home Page:https://in-house-swagger.github.io/in-house-swagger/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OAS3 に対応したい

suwa-sh opened this issue · comments

ストーリー

利用者 として
最新のOAS使用を利用 するために、
OAS2 / 3 を使い分けできる。

背景・経緯

OAS3 がリリースされたが、codegenが正式対応されていない。
codegenが正式リリースされ次第で、対応を載せたい。

受け入れ条件

  1. OAS2 / 3 を設定で切り替え できること
    • 可能であれば、動的に切り替えたい。最低限設定で切り替えられること。
  2. workflow全体で OAS3 を利用 できること
    • 対応済み
      • swagger-ui: 導入済み
      • swagger-editor: 導入済み
    • 未対応
      • swagger-codegen-cli
      • swagger-generator
    • 動向を確認中
      • swagger2markup
      • swagger-spec-mgr

対応詳細

  1. swagger-spec-mgr対応メモ
    多分、分割設定を切り替えるだけで済むはず。

codegen-cli, generatorは、OpenAPITools/openapi-generator でコミュニティ運営版としてフォークされた様子。
SmartBear版は多数のコントリビュータが離れてしまったので、一旦忘れます。。。
https://github.com/OpenAPITools/openapi-generator

openapi-generator-online は、SpringBootのfatjarで公開されるようになった。
この関連で課題が2つ。どうしたものか。。。

  • swagger-editor v3.5.7 で、OAS3のGenerator呼び出し抑止を解除

    openapi-generator-onlineに向けると、CORSでinvalid

  • CustomLanguage.jar のServiceLoaderを追加する方法

    • NG
      • java -jar online.jar に起動オプションを追加するパターン
        • -cp xxx.jar でclasspath追加
        • -Dloader.path=xxx.jar でclasspath追加
      • java -jar online.jar + 起動ディレクトリ/config/xxx.jar
      • online.jar を unzip + java -cp 'unziped/' org.springframework.boot.loader.PropertiesLauncher で起動するパターン
        • BOOT-INF/lib/xxx.jar として配置
        • -cp 'unziped/:/path/to/xxx.jar' でclasspath追加