APIの設計と作成
APIの設計と作成には、APIドキュメントの仕様(APIパス、パラメータ、戻り値、データ構造など)を定義する必要があります。
Postmanとは対照的に、ApidogはAPIの設計と実行のアイデアの区別をします。
- APIの設計:新しいAPIページとAPI 詳細設定ページは、APIを実行するためではなく、APIドキュメントを定義するために設計されています。したがって、これらのページはパラメータの値を設定するのではなく、APIの基本情報(パラメータ名やパラメータの説明など)を定義するためにのみ使用できます。パラメータ値、前処理Script、後処理Scriptなどを、APIの実行ページで設定してください。
- APIの実行:API 実行ページ(API 詳細設定ページからアクセス可能)は一時的なデバッグのために設計されています。実行後、パラメータ、前処理Script、後処理Scriptなどを保存するには、「ケースとして保存」をクリックしてください。そうしない場合、タブを閉じた後に情報がなくなります。
PostmanのようにAPIを事前設計せずに素早くデバッグする方法はありますか? クイックRequest 機能を利用します。
新しいAPIを開くときに、タブが上書きされることを防止するにはどうすればいいですか? タブをダブルクリックするか、ツリーメニューで当該項目をダブルクリックしてください。これはVSCodeと同じような操作です。タブの内容に変更があれば、タブが自動的に修正されます。
クイックスタート
- 左側の検索ボックスの近くにある + ボタンをクリックして、新しいウィンドウを開くか、ショートカットキーの「Ctrl(⌘) + N」を押します。
- 新しいウィンドウでAPI 関連の情報を入力します。
APIのパス
APIのパスは、先頭がスラッシュ(/)で始まります。例えば: /pets、 /pets/{id}
- APIパスにはHTTPプロトコルとドメイン名を含めないことをお勧めします。これは、環境管理のセクションでプリフィックスURLを設定できます。設定したプリフィックスURLは、デバッグ中にURLの先頭に自動的に追加されます。
- システムはHTTPプロトコルとドメイン名がAPIパスに含まれていることに対応できますが、お勧めしません。デバッグ中に、システムがURLに「http://」と「https://」が含まれることを検出した場合、現在利用中の環境中のプリフィックス URLが自動的に無視されます。
- Apidogでは、Pathパラメータはコロン(例:/pets/:id)の代わりに、波括弧(例:/pets/{id})で囲まれています。
- APIパスにはQueryパラメータ(URLの「?」以降のパラメータ)を含めることはできません。Queryパラメータは、下記のRequestパラメータのセクションに入力する必要があります。
Requestパラメータ
Params
Paramsにqueryとpathパラメータが含まれています。
- Queryパラメータ:URLの「?」以降のパラメータです。
- Pathパラメータ:波括弧内のPathパラメータを自動的に抽出します。例えば: たとえば、Apidogは /pets/{id} のパスパラメータとして {id} を抽出します。
Bodyパラメータ
Bodyパラメータのタイプ
- none: bodyパラメータがありません。
- form-data: Content-typeがmultipart/form-dataです。
- x-www-form-urlencoded: Content-typeがapplication/x-www-form-urlencodedです。
- json: Content-Typeがapplication/jsonです。
- xml: Content-Typeがapplication/xmlです。
- binary: ファイルベースのデータを送信します。
- raw: そのほかのテキストベースのデータを送信します。
bodyパラメータがGET Requestでのみ設定できます。
body parameterのタイプがjsonかxmlの場合、データ構造を設定する必要があります。そのデータ構造はSchimaを参照できます。 詳細のドキュメントを見る。
Bodyパラメータのタイプに基づいて自動的にRequestのHeaderに追加されるので、API requestを送信する場合、Content-Typeを手動で設定する必要がありません。
手動でHeaderのContent-Typeを設定する必要がある場合、その値がBodyパラメータに合わせる必要があります。そうでなければ、システムが手動入力されたContent-Typeを自動的に無視します。
- Bodyパラメータがform-dataの場合、 Content-Typeをmultipart/form-dataか、charset=GBKに設定できます。ただし、Content-Typeがapplication/jsonに設定する場合、パラメータタイプと一致しないため、システムはそれを無視します。
Bodyパラメータがrawの場合、Content-Typeの値の手動設定に制限がありません。
パラメータで環境変数・グローバル変数・ローカル変数の使用
すべてのパラメータに変数を使用できます。二重波括弧を使用して変数名を囲むことで変数を参照します。たとえば、{{my_variable}}は、my_variableという名前の変数を参照することを意味します。
変数以外、パラメータ値を文字列にすることもできます。たとえば、パラメータを prefix-{{my_variable}}-surfix として設定できます。実行時、パラメータ値は prefix-123-surfix になります。
変数の詳細については、ドキュメントを参照してください。
Response
返されたResponseには、次の部分があります:
- APIから返されたHTTPステータスコード
- 返されるコンテンツのデータ形式:JSON,XML,HTML,Raw,Binary
- データ構造:データ構造を設定できるのはJSONとXMLのみです。データ構造の詳細については、こちらをご覧ください。
APIが異なる状況で異なるデータ構造を返す場合、複数のResponseを設定できます。Responseを追加するには、Return Responseモジュールの右上にある[+ 追加]をクリックします。
データ構造を定義した後、APIをデバッグするときに、システムは返されたデータが定義されたデータ構造に準拠しているかどうかを自動的に確認します。ここでAPIのデバッグ/APIのユースケースの詳細を見る。
データ構造を定義した後、Mockを使用する場合、システムはカスタマイズされたデータ構造に基づいて現実的なデータをMockします。ここでMockデータの詳細を見る。
共通 Response
共通 Responseは、返されたResponseを再利用するように設計されています。
時々、異なるAPIは同じデータ構造を返すことがあります。例えば、リソースが存在しない(404)、アクセス権限がない(401)など。重複操作を避けて、より効率的に管理するため、これらを共通 Responseに設定することをお勧めします。
共通 Responseとして保存:プロジェクトの設定を開く->共通 Responseを選択すると、ここで共通 Responseを管理できます。
Responseの例
Responseのデータ例を設定することで、APIドキュメントを確認する人がデータ構造をすばやく理解できます。
Responseのデータ例は、Responseモジュールの右上にある「+ 追加」をクリックして複数回設定することができます。成功例と失敗例という、少なくとも2つの例を設定することをお勧めします。
そのほか
OperationID
OperationIdプロパティの設定をサポートします。OpenAPI 形式でエクスポートすると、この値はOperationオブジェクトのOperationIdにエクスポートされます。