OpenAPI
OpenAPI Specification (OAS) は REST API の説明フォーマットです。 Swagger は、この仕様に基づいて REST API を記述・ドキュメント化・利用するためのツールセットです。 詳細については、 Swagger ドキュメントを参照してください。
RubyMine は YAML や JSON ファイルでの OpenAPI 定義のコーディング支援、さらに OpenAPI 仕様に基づいてサーバースタブやクライアントライブラリ(SDK)、ドキュメントを生成する Swagger Codegen との統合を提供します。
OpenAPI 仕様で定義されたエンドポイントは Endpoints ツールウィンドウで確認できます。

OpenAPI 仕様を作成
RubyMine は、関連する コーディング支援が利用できる専用の OpenAPI 仕様 ファイルタイプを認識します。 これらは OpenAPI 仕様バージョンが定義された通常の YAML または JSON ファイルです。
OpenAPI 仕様を手動で作成
プロジェクト ツールウィンドウで Alt+Insert を押し、コンテキストメニューから OpenAPI 仕様 を選択します。
ファイルの名前を指定し、仕様バージョンとファイル形式を選択します。

エディターで開いた OpenAPI 仕様では、 ガターアイコンを使って仕様セクションを素早く追加できます。

IDE 設定の で ガターアイコンを 仕様のクイック編集用ガターアイコン チェックボックスで無効化できます。
新しい OpenAPI 仕様ファイルには、形式とバージョンに応じて、次のテンプレートが含まれています。
空の YAML または JSON ファイルから始める場合は、 opnp または swag と入力し、 Tab を押して対応する ライブテンプレートを挿入できます。
別ファイルから定義を参照
OpenAPI 3.0 では、 $ref キーワードを使用して任意の場所にある定義を参照できます。 RubyMine はパス補完、バリデーション、クイックナビゲーションを提供します。 補完には、RubyMine がカレントファイルや外部ファイルのコンテキストを理解し、関連する要素へのポインターを提案します。
$refキーワードを入力します。外部定義までのパスを入力し始めます。
Ctrl+B を押すと、参照先のファイルや要素へすぐに移動できます。

OpenAPI 仕様をプレビュー
統合された Swagger UI または Redoc UI を利用して OpenAPI 仕様をプレビューできます。 OpenAPI 仕様ファイルをエディターで開いたとき、右上の と
でプレビューの表示・非表示を切り替えます。
Swagger UI と Redoc UI を切り替えるには、プレビュー領域にマウスカーソルを合わせ をクリックします。


エディターを分割して水平方向にプレビュー
デフォルトでは、エディターとプレビューが垂直(並列)に分割されており、ワイドモニターに便利です。 また、プレビューがエディター下部に表示されるように水平分割もでき、縦型ディスプレイの場合に便利です。
エディターの右上隅にある
をクリックして、 エディタープレビュー ペインを開きます。
をクリックして、エディターとプレビューを水平に分割します。
リモート OpenAPI 仕様を追加
プロジェクトの OpenAPI 仕様で定義したエンドポイント URL は、 コード補完で使用できます。 外部仕様用のクライアントコードを作成する際は、エンドポイント URL の補完用にそのファイルをプロジェクトへ追加する必要はありません。 関連するリモート仕様へのリンクを追加できます。
設定 ダイアログ(Ctrl+Alt+S )で、 を選択します。
を リモート仕様 リストでクリックし、OpenAPI 仕様ファイルの URL を指定するか、 SwaggerHub で OpenAPI 仕様を検索します。

を使用して変更された仕様を再読み込みします。
プライベート OpenAPI 仕様 を追加するには、API キーを入力してください。
セルフホスト型 SwaggerHub On-Premise インスタンスから OpenAPI 仕様を追加するには、インスタンスの URL を指定してください。
OpenAPI 仕様の比較
新しい仕様バージョンがある場合、古いバージョンと比較して互換性があるか確認することが推奨されます。 diff Ctrl+D で変更された行を比較する方法があります。 ただし、すべての変更が互換性に影響するわけではありません。 RubyMine は OpenAPI 仕様の構造を比較し、パス、パラメーター、レスポンスなど互換性を損なう可能性のある変更点の概要を作成できます。
プロジェクト ツールウィンドウで OpenAPI 仕様ファイルを 2つ選択し、右クリックして OpenAPI 仕様の比較 を選択します。
変更された仕様要素の概要付き Markdown ファイルが生成されます。 そのファイルはエディターでプレビューパネルとともに開き、変更点のナビゲーションを簡単に行えます。 2番目に選択したファイルの変更内容が、1番目のファイルと比較して表示されます。
OpenAPI 仕様からコードを生成する
有効な OpenAPI 仕様を開いている場合、RubyMine はそれからコードを生成することを提案します:

ガターの をクリックし、 実行 'openapi file' を選択します。 RubyMine は指定した場所にソースコードファイルを生成し、ファイルを開くか別モジュールとしてプロジェクトにインポートできるオプション付きの通知を表示します。
Swagger Codegen 実行構成
ファイルごとに最初にコード生成を実行すると、RubyMine は OpenAPI/Swagger コードジェネレーター 実行構成 を作成します。 実行構成を変更するには、 を開き目的の構成を選択するか、ガターの をクリックして 実行構成の変更 を選択します。
OpenAPI/Swagger コードジェネレーター 実行構成の上部で、次の共通オプションを設定できます:
一般パラメーター
項目 | 説明 |
|---|---|
名前 | 実行構成の名前を指定して、編集または実行時に他の構成の間ですばやく識別できるようにします。 |
プロジェクトファイルとして保存 | 実行構成設定を含むファイルを保存して、他のチームメンバーと共有します。 デフォルトの場所は .idea/runConfigurations です。 ただし、 .idea ディレクトリを共有したくない場合は、構成をプロジェクト内の他のディレクトリに保存できます。 デフォルトでは無効化されており、RubyMine は実行構成設定を .idea/workspace.xml に保存します。 |
コード生成設定
項目 | 説明 |
|---|---|
出力ディレクトリ | 生成するファイル用ディレクトリへのパス。 |
コードジェネレーター | コードジェネレーターの種類:
|
言語 | 生成コードのターゲット言語。 |
オプションを変更
一部の設定が非表示の場合は、 オプションを変更 をクリックして表示します。
項目 | 説明 |
|---|---|
仕様のパス | OpenAPI 仕様へのパス。 |
JRE | Swagger Codegen の実行に使用する Java ランタイム |
カスタムテンプレートパス | Mustache テンプレートを含むディレクトリへのパス。 |
生成パラメーター
ターゲット言語に応じた構成パラメーターを指定します。 詳細については、 swagger-codegen/README.mdを参照してください。