PhpStorm 2020.3 ヘルプ

OpenAPI

OpenAPI 仕様(OAS)は、REST API の記述形式です。Swagger(英語) は、REST API を記述、文書化、使用するための、この仕様に基づくツールのセットです。詳細については、Swagger のドキュメント(英語)を参照してください。

PhpStorm は、YAML および JSON ファイルの OpenAPI 定義のコーディング支援、およびサーバースタブ、クライアントライブラリ(SDK)、および OpenAPI 仕様に基づくドキュメントを生成するための Swagger Codegen(英語) との統合を提供します。さらに、定義されたエンドポイントに対して HTTP リクエストを作成し、組み込みの HTTP クライアント(英語)を介して実行できます。

OpenAPI 仕様を作成する

PhpStorm は、関連するコーディング支援付きの専用 OpenAPI 仕様ファイルタイプを認識します。これらは、OpenAPI 仕様バージョンの定義を含む通常の YAML または JSON ファイルです。

  1. メインメニューからファイル | 新規 | OpenAPI 仕様を選択するか、Alt+Insert を押して OpenAPI 仕様を選択します。

  2. ファイルの名前を指定し、仕様バージョンとファイル形式を選択します。

新しい OpenAPI 仕様ファイルには、形式とバージョンに応じて、次のテンプレートが含まれています。

openapi: 3.0.0 info: title: Title description: Title version: 1.0.0 servers: - url: 'https' paths:
{ "openapi": "3.0.0", "info": { "title": "Title", "description": "Title", "version": "1.0.0" }, "servers": [ { "url": "https" } ], "paths": { } }
swagger: "2.0" info: title: Title description: Title version: 1.0.0 host: www schemes: - https paths:
{ "swagger": "2.0", "info": { "title": "Title", "description": "Title", "version": "1.0.0" }, "host": "www", "schemes": [ "https" ], "paths": { } }

空の YAML または JSON ファイルから始める場合は、opnp または swag と入力し、Tab を押して対応するライブテンプレートを挿入できます。

リモート OpenAPI 仕様を追加する

プロジェクトの OpenAPI 仕様で定義したエンドポイント URL は、コード補完で使用できます。外部仕様のクライアントコードを記述している場合は、エンドポイント URL を自動補完するためにプロジェクトにファイルとして追加する必要はありません。関連するリモート仕様へのリンクを追加できます。

  1. 設定 / 環境設定ダイアログ Ctrl+Alt+S で、言語 \& フレームワーク | OpenAPI 仕様を選択します。

  2. リモート仕様リストで the Add button をクリックして、OpenAPI 仕様ファイルの URL を指定するか、SwaggerHub(英語) で OpenAPI 仕様を見つけます。

The OpenAPI Specification settings

The Reload All Specifications button を使用して、変更された仕様を再ロードします。

プライベート OpenAPI 仕様(英語)を追加するには、API キーを指定します。

自己ホスト型 SwaggerHub オンプレミス(英語)インスタンスから OpenAPI 仕様を追加するには、インスタンスの URL を指定します。

OpenAPI 仕様の比較

新しい仕様バージョンがある場合は、古いバージョンと比較して、互換性があることを確認する必要があります。1 つの方法は、差分 Ctrl+D を見て、変更された行を比較することです。ただし、すべての変更が互換性にとって重要であるとは限りません。PhpStorm は、OpenAPI 仕様の構造を比較し、変更されたパス、パラメーター、応答、互換性を損なう可能性のあるその他の要素の概要を作成できます。

  • プロジェクトツールウィンドウで、2 つの OpenAPI 仕様ファイルを選択し、右クリックして OpenAPI 仕様の比較を選択します。

これにより、変更された仕様要素の要約を含む Markdown ファイルが生成されます。エディター内でファイルが開き、変更を簡単にナビゲートできるプレビューパネルが表示されます。最初に選択したファイルと比較して、2 番目に選択したファイルの変更が表示されます。

OpenAPI 仕様からコードを生成する

有効な OpenAPI 仕様を開いている場合は、the Generate Code button をクリックしてコードを生成できます。

Generate code based on the OpenAPI specification

the Generate Code button をクリックし、必要な設定を構成してから、変更を適用して構成を実行します。PhpStorm は、指定された場所にソースコードファイルを生成し、ファイルを開くか、別のモジュールとしてプロジェクトにインポートするかを選択できる通知を表示します。

Swagger Codegen 実行構成

PhpStorm は、Swagger Codegen 実行構成を作成します。これは、特定のファイルに対して初めてコード生成を実行するときに構成できます。実行構成を変更するには、実行 | 実行構成の編集を開いて必要な構成を選択するか、対応する OpenAPI 仕様ファイルが開いているときにエディターの上部にある the Edit Generation Settings button をクリックします。

Swagger Codegen 実行構成の上部で、次の共通オプションを構成できます。

項目

説明

名前

実行 / デバッグ構成の名前を指定して、たとえば実行ポップアップ Alt+Shift+F10 から構成を編集または実行するときにすばやく識別します。

並列実行を許可する

この実行構成の複数のインスタンスを並行して実行できるようにする場合に選択します。

デフォルトでは無効になっており、別のインスタンスの実行中にこの構成を開始すると、PhpStorm は実行中のインスタンスを停止して別のインスタンスを開始することを提案します。これは、実行 / デバッグ構成が多くのリソースを消費し、複数のインスタンスを実行する正当な理由がない場合に役立ちます。

プロジェクトファイルとして保存

実行構成設定を含むファイルを保存して、他のチームメンバーと共有します。デフォルトの場所は .idea/runConfigurations です。ただし、.idea ディレクトリを共有したくない場合は、プロジェクト内の他のディレクトリに構成を保存できます。

デフォルトでは無効になっており、PhpStorm は実行構成設定を .idea/workspace.xml に保存します。

一般設定

項目

説明

仕様書パス OpenAPI 仕様へのパス。
ファイルの生成先 生成されたファイルのディレクトリへのパス。
ジェネレーターパス ジェネレーター(実行可能 JAR ファイル)へのパス。ローカルジェネレーターへのパスを手動で指定するか、Maven セントラルから入手可能な最新バージョンを使用することを選択できます。
言語 生成されたコードのターゲット言語。
ジェネレーターを構成する

ターゲット言語に依存する構成パラメーターを指定します。

  • .json ファイル : config.json へのパスを構成パラメーターで指定します。

    例: Java の config.json ファイルには、次のパラメーターを含めることができます。

    { "groupId":"com.my.company", "artifactId":"MyClient", "artifactVersion":"1.2.0", "library":"feign" }
  • プロパティ付き : パラメーターを手動で指定します。

構成パラメーターについては、swagger-codegen/ README.md(英語) を参照してください。

詳細設定

項目

説明

カスタムテンプレートパス Mustache テンプレート(英語)のあるディレクトリへのパス。
JRESwagger Codegen の実行に使用する Java ランタイム。
デバッグログを表示 ログにデバッグメッセージを書き込みます。

起動前

指定した順序で実行構成を開始する前に実行するタスクを追加します。例: 最初に別の構成または外部ツールを実行できます。

項目

説明

このページを表示する 開始する前に、この実行構成設定ダイアログを表示します。
ツールウィンドウをアクティブにする この構成が開始したら、実行ツールウィンドウを開きます。これが無効になっている場合、ツールウィンドウを開くには、表示 | ツールウィンドウ | 実行 Alt+4 を選択します。

HTTP クライアントで OpenAPI 仕様をテストする

OpenAPI 仕様ファイルを使用する場合、指定したエンドポイントへの HTTP リクエストを作成し、組み込みの HTTP クライアント(英語)を介して実行できます。

エンドポイントへの HTTP リクエストを作成する

  • OpenAPI 仕様ファイルで、エンドポイント定義の横にあるエディターのガターで the Open in HTTP Client button をクリックします。

PhpStorm は新しい HTTP リクエストを作成し、generated-requests.http スクラッチファイルに保存します(英語)

Creating an HTTP request to an endpoint

エンドポイントとその使用箇所の名前を変更する

名前変更リファクタリングを使用して、定義されたエンドポイントの名前を変更し、HTTP リクエストでの使用を同時に変更します。

  1. 以下のいずれかを行います。

    • OpenAPI 仕様ファイルで、名前を変更するエンドポイントの定義にキャレットを置きます。

    • HTTP リクエストファイルで、名前を変更する URL パスセグメントにキャレットを置きます。

  2. メインメニューまたはコンテキストメニューからリファクタリング | 名前の変更を選択するか、Shift+F6 を押します。

  3. 開いた名前の変更ダイアログで、新しいエンドポイントの名前を指定します。

  4. プレビューと変更の適用

PhpStorm は、エンドポイントとその使用箇所の名前を変更します。

Renaming an HTTP endpoint

関連ページ:

PhpStorm コードエディターの HTTP クライアント

Web サービスをテストする場合、PhpStorm コードエディターで直接 HTTP リクエストを作成、編集、実行できます。HTTP リクエストは .http および .rest ファイルに保存され、アイコンでマークされています。HTTP ファイルのサポートには、以下の機能が含まれます。コードのハイライト、ホスト、メソッドタイプ、ヘッダーフィールド、OpenAPI を介して定義されたエンドポイントのコード補完。リクエスト、そのパーツ、応答ハンドラースクリプト用のコードの折りたたみ、リクエストヘッダーフィール...

ソースコードの作成と編集

コードを使用する場合、PhpStorm は作業にストレスがないことを保証します。追加、選択、コピー、移動、編集、折りたたみ、出現箇所の検索、コードの保存に役立つさまざまなショートカットと機能を提供します。エディター内のナビゲーションについては、エディターの基本を参照してください。アクションの検索使用したいアクションのショートカットを覚えていない場合は、を押して名前でアクションを見つけてください。同じダイアログを使用してクラス、ファイル、またはシンボルを見つけることができます。詳しくは、どこでも...

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、PhpStorm はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します(提案にはライブテンプレートも含まれます)。基本補完は英語以外のキーボードレイアウトでも利用できます。基本コード補完がフィールド、パラメ...

ファイル、フォルダー、テキストソースを比較する

PhpStorm を使用すると、ファイル、フォルダー、テキストソース、またはデータベースオブジェクト間の違い、およびローカルファイルとそれらのリポジトリバージョン間の違いを確認できます。ファイルの比較:PhpStorm はファイルの差分ビューアーに差分を表示します: 変更を適用するには、シェブロンボタンおよびを使用します。変更を追加するには、を押します。ボタンはに変わります。

実行 / デバッグ構成を操作する

PhpStorm でコードを実行またはデバッグするには、実行 / デバッグ構成を使用できます。各実行 / デバッグ構成は、名前付きの実行 / デバッグ起動プロパティのセットを表します。PhpStorm を使用して実行、デバッグ、またはテストの操作を実行するときは、常にそのパラメーターを使用して、既存の構成のいずれかに基づいてプロセスを開始します。PhpStorm には、さまざまな実行、デバッグ、テストの問題に対して、いくつかの実行 / デバッグ構成タイプが付属しています。特定のタイプの独自の実行...

名前の変更リファクタリング

名前の変更リファクタリングを使用すると、コード内のすべての参照が自動的に修正されたシンボルとファイルの名前を変更できます。シンボル名を変更する名前を変更するアイテムを選択します。ファイルを選択するには、プロジェクトツールウィンドウで目的のファイルをクリックします。エディターでシンボルを選択するには、名前を変更するシンボルの名前にキャレットを置きます。プロジェクトツールウィンドウのシンボルを選択するには、メンバーが表示されていることを確認してから、目的のシンボルをクリックします。構造ビューでシンボ...