Apidog Docs
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
HomeLearning CenterSupport CenterAPI References
HomeLearning CenterSupport CenterAPI References
Discord Community
Slack Community
X / Twitter
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
  1. 前/後処理
  • Apidog学習センター
  • はじめに
    • Apidog紹介
    • Apidog基本操作
      • 概要
      • 新しい APIを作成
      • APIにリクエストを送信
      • アサーションを追加
      • テストシナリオを作成
      • APIドキュメントを共有
      • さらなる探究
      • リクエストを送信してAPIとして保存
    • Apidog基本知識
      • Apidog操作方法
      • Apidogの基本概念
    • 移行
      • 概要
      • 手動インポート
      • 定期インポート
      • インポートオプション
      • データのエクスポート
      • Import from...
        • Postman からインポート
        • OpenAPI(Swagger)仕様のインポート
        • cURLのインポート
        • Markdownのインポート
        • Insomniaからのインポート
        • apiDocからのインポート
        • .harファイルのインポート
        • WSDLのインポート
  • API設計
    • 概要
    • コンポーネント
    • 常用フィールド
    • グローバルパラメータ
    • API変更履歴
    • プロジェクトの作成
    • 一括API管理
    • APIの基本
    • 複数のリクエストボディ例の設定
    • Schemas
      • 概要
      • 新規Schemaの作成
      • スキーマを構築する
      • JSONなどからのSchema生成
    • Security schemes
      • 概要
      • Security Schemeの作成
      • Security Schemeの使用
      • オンラインドキュメントにおけるSecurity Scheme
    • 高度な機能
      • APIをテストステップとしてインポート
      • パラメータリストの表示形式
      • APIのカスタムフィールド
      • APIのステータス
      • API固有識別子
  • API開発とデバッグ
    • 概要
    • リクエストの生成
    • リクエストの送信
    • コード生成機能
    • APIケース
    • 動的な値
    • レスポンスの検証
    • 設計優先 & リクエスト優先
    • 環境 & 変数
      • 概要
      • 環境とサービス
      • 変数の使い方
    • Vault secrets
      • 概要
      • AWS Secrets Manager
      • Azure Key Vault
      • HashiCorp Vault
    • 前/後処理
      • 概要
      • Wait
      • 変数の抽出
      • アサーション
      • データベース操作
        • 概要
        • MongoDB
        • Redis
        • Oracle クライアント
      • スクリプト利用
        • 概要
        • 前処理スクリプト
        • 後処理スクリプト
        • Postmanスクリプトリファレンス
        • 共通スクリプト
        • 他のプログラミング言語の呼び出し
        • JSライブラリの使用
        • レスポンスの可視化
        • スクリプトの例
          • その他の例
          • スクリプトを使用したリクエストメッセージの変更
          • スクリプトでの変数の使用
          • アサーションスクリプト
    • 動的値モジュール
  • APIモック
    • 概要
    • スマートMock
    • カスタムMock
    • Mockの優先順位
    • Mockスクリプト
    • クラウドMock
    • セルフホストランナーMock
    • Mock言語 (ロケール)
  • 自動テスト
    • 概要
    • テストレポート
    • テストシナリオ
      • テストシナリオの作成
      • 他のプロジェクトからAPI/APIケースをインポートする
      • リクエスト間でデータを渡す
      • API/APIケースからのデータ同期
      • フロー制御条件
      • テストシナリオのエクスポート
    • テストシナリオ実行
      • データ駆動型テスト
      • スケジュールタスク
      • テストシナリオを一括実行する
      • 他のプロジェクトのAPIの実行環境を管理する
      • テストシナリオを実行する
    • APIテスト
      • 統合テスト
      • 回帰テスト
      • エンドツーエンド(E2E)テスト
      • パフォーマンステスト
    • Apidog CLI
      • 概要
      • Apidog CLIのインストールと実行
      • Apidog CLI オプション
    • CI/CD
      • 概要
      • Jenkinsとの連携
      • Gitlabとの統合
  • APIドキュメント公開
    • 概要
    • Google AnalyticsとDoc Sitesの連携
    • CORS プロキシ
    • クイック共有
    • 可視性設定
    • ドキュメントURLに値を埋め込む
    • APIドキュメントを表示する
    • フォルダツリー設定
    • API SEO設定
    • カスタムレイアウト
    • ドキュメント検索
    • カスタムドメイン
    • ドキュメントサイトの公開
    • APIバージョン
      • 概要
      • APIバージョンの作成
      • APIバージョンの公開
      • APIバージョンごとにAPIの共有
  • リクエスト送信
    • 概要
    • GraphQL
    • gRPC
    • WebSocket
    • SSEデバッグ
    • SOAP/Webサービス
    • デバッグ用のリクエストプロキシエージェントを使用する
    • Socket.IO
    • リクエスト作成
      • リクエストの基本
      • パラメータとボディ
      • リクエストヘッダー
      • リクエスト設定
      • HTTP/2
      • リクエスト履歴
    • 認証と認可
      • 概要
      • CAとクライアント証明書
      • Apidogがサポートする認可タイプ
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk Authentication
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • レスポンスとクッキー
      • 概要
      • ApidogのAPIレスポンス
      • Cookieの作成と送信
      • リクエストのデバッグ
      • リクエストをAPIとして保存
  • ブランチ管理
    • 概要
    • 新しいスプリントブランチの作成
    • スプリントブランチの管理
    • ブランチ内でのAPIテスト
    • ブランチでAPIの設計
    • スプリントブランチのマージ
  • Apidog MCP Server
    • 概要
    • Apidogプロジェクト内のAPI仕様をApidog MCPサーバー経由でAIに接続する
    • Apidogが公開したオンラインAPIドキュメントをApidog MCPサーバー経由でAIに接続する
    • Apidog MCPサーバーを介してOpenAPIファイルをAIに接続する
  • ベストプラクティス
    • ガイド:ChatGPT APIのトークンとコスト計算
    • Apidog コラボレーションワークフロー
    • API署名の取り扱い方法
    • Apidogでの認証状態の管理
    • OAuth 2.0で保護されたAPIにアクセスする方法
  • 管理
    • オンボーディングチェックリスト
      • 基本概念
      • Apidogスタートアップガイド
    • チーム管理
      • チーム管理
      • チームメンバーの管理
      • メンバーの役割と権限設定
      • チーム活動
      • チームリソース
        • 一般ランナー
        • チーム変数
        • リクエストプロキシエージェント
        • データベース接続
      • リアルタイムコラボレーション
        • チームコラボレーション
    • プロジェクト管理
      • プロジェクト管理
      • プロジェクトメンバーの管理
      • 通知設定
    • 組織管理
      • シングルサインオン(SSO)
        • 概要
        • Microsoft Entra IDの設定
        • Okta設定
        • 組織のSSOを設定する
        • チームへのグループのマッピング
        • ユーザーアカウントの管理
      • SCIMプロビジョニング
        • SCIMプロビジョニング入門
        • Microsoft Entra ID
        • Okta
      • 組織リソース
        • セルフホストランナー
  • 請求情報
    • 概要
    • プランのアップグレード
    • クレジット
    • クレジットカードが使えない?
    • サブスクリプションの管理
  • アドオン
    • API Hub
    • Apidog IntelliJ IDEA プラグイン
    • リクエストプロキシ
      • Apidogウェブでのリクエストプロキシ
      • 共有ドキュメントでのリクエストプロキシ
      • Apidogクライアントでのリクエストプロキシ
    • ブラウザ拡張機能
      • Microsoft Edge
      • Chrome
  • アカウント & 設定
    • アカウント設定
    • 言語設定
    • データバックアップ
    • ネットワークプロキシ設定
    • ホットキー
    • Apidogの更新
    • OpenAPIアクセストークンの生成
    • アカウント削除
  • 参考資料
    • Swagger拡張機能
    • Socket通信:パケットの分断と結合
    • 用語の説明
    • よくある質問
    • API-デザインファーストアプローチ
    • Apidog OpenAPI/Swagger仕様拡張
    • JSONPath
    • XPath
    • 正規表現
    • JSONスキーマ
    • CSVファイルフォーマット
    • Java環境のインストール
    • ランナーのデプロイ環境
    • ApidogフレーバーMarkdown
  1. 前/後処理

Apidogでの前/後処理

前/後処理は、Apidogの重要な機能だよ。リクエストを送信するとき、前処理でリクエストを動的に制御したり、後処理で受け取ったレスポンスを処理したりできるんだ。
Postmanでは、前/後リクエストの操作は全部スクリプトで実装する必要があって、複雑だし保守も大変だし、学習も大変なんだ。でもApidogなら、視覚的なドラッグ&ドロップ操作で、ほとんどの前/後リクエスト操作が簡単にできるよ。

前/後処理を使ってみよう#

Apidogで前/後処理を使うための手順はこんな感じ:
1
任意のAPIを開いて、実行タブ(設計モード)またはリクエストタブ(デバッグモード)に移動する
2
前処理または後処理のセクションに切り替えて、プロセッサーを追加にマウスを合わせ、追加したいプロセッサーを選択する
3
追加したプロセッサーに必要な項目を入力する
4
実行をクリックすると、設定した前/後処理と一緒にリクエストが実行される
5
設計モードではケースとして保存を、デバッグモードでは保存/ケースとして保存をクリックしてリクエストを保存する
Apidogでは、スタンドアロンのリクエストを作成して前・後処理を適用することもできるけど、APIの仕様の上に前・後処理を使うのがおすすめだよ。そうすることで、APIのデバッグとテストがもっと便利で効率的になるんだ。

前/後処理でできること#

前/後処理を使えば、以下のようなことができるよ。

前処理#

リクエストパラメータとリクエストボディの値を設定する:APIに送信する入力データを定義するんだ
リクエストヘッダーを設定する:Content-Type、Accept、Authorization など、APIリクエストに必要なヘッダーを指定できる
リクエストに認証を追加する:保護されたAPIにアクセスするために必要な認証トークン、APIキー、その他の認証情報を含められる
データベースから値を取得してリクエストパラメータとして使う:APIリクエストに動的または事前定義された値を設定するために、データベースから関連データを取得できる
リクエストを暗号化する:機密情報を保護するためにリクエストペイロードを暗号化して、データの送信を安全にする

後処理#

APIから受け取ったレスポンスを期待される結果と照らし合わせて検証する。ステータスコード、レスポンスメッセージ、特定のデータ値などをチェックできるよ
レスポンスから変数を抽出して、後続のリクエストで使用する。APIテストの流れの中で状態を維持するのに便利なんだ
テスト中に生成された情報をデータベースに書き込んで保存や更新をする。後で分析や参照が必要な場合に特に役立つよ
レスポンスデータを視覚化して、より良い分析と理解につなげる。APIレスポンスデータをレポート、グラフ、その他の視覚的な表現で示して、システムの動作とパフォーマンスを把握できるんだ

前/後処理の一覧#

Apidogは以下の前/後処理をサポートしているよ:
アサーション:後処理でのみ利用可能。レスポンスデータを期待値や条件と照らし合わせるための検証ルールを定義できる。ステータスコード、レスポンスボディ、ヘッダーなど、様々なアサーションタイプをサポートしているよ
変数の抽出:後処理でのみ利用可能。レスポンス(JSON、XML、プレーンテキスト)から値を抽出して変数として保存できる。JSONPathやXPath式を使ってレスポンスの特定の部分を指定できるんだ。抽出した変数は後続のリクエストや他のプロセッサーで使えるよ
データベース操作:前と後処理の両方で利用可能。データベースに接続してSQLクエリを実行できる。クエリ結果は変数として保存して、さらなる処理で使用できるんだ。SQLやNoSQLなど、様々なタイプのデータベースをサポートしているよ
カスタムスクリプト:前と後処理の両方で利用可能。自分でJavaScriptコードを書けるスクリプト環境を提供するよ。スクリプトはリクエストやレスポンスのデータ、環境変数にアクセスできるんだ。視覚的なプロセッサーでは表現しにくい複雑なロジックや統合に便利だよ
スクリプトの作成を簡単にするために、Apidog スクリプトジェネレーターの使用をおすすめするよ。自然言語でほしいスクリプトを説明するだけで、実行可能なスクリプトを生成してくれるんだ。
パブリックスクリプト:前と後処理の両方で利用可能。複数のプロセッサーやシナリオで共有できる再利用可能なスクリプトスニペットを作成できるよ。共通のロジックやユーティリティ関数をまとめるのに役立つんだ
待機:前と後処理の両方で利用可能。リクエストの送信前後に遅延や待機時間を入れられる。実際の環境のシナリオを再現したり、非同期レスポンスを処理したりするのに便利だよ

前/後処理の実行順序#

Apidogの前/後処理は複数のレベルで設定できるんだ:
実行/APIケースレベル:デフォルトのレベル。このレベルで設定したプロセッサーは、現在の実行/APIケースにのみ影響するよ
APIレベル:APIレベルで設定したプロセッサーは、そのAPIに関連する全てのケース(リクエスト)に適用されるんだ
フォルダレベル:フォルダレベルで設定したプロセッサーは、そのフォルダ内の全てのAPIに影響するよ
リクエストの前操作の例はこんな感じ:
image.png
上のスクリーンショットでは、最初の3つのプロセッサーは「親から継承」というラベルの下にグループ化されているよ。右側のラベルは、それらがルートフォルダ、Petsフォルダ、現在のAPIにあることを示しているんだ。現在の実行では、これらのプロセッサーは実行またはオン/オフの切り替えのみ可能で、直接編集はできないよ。編集が必要な場合は、フォルダをクリックして対応するレベルに移動してね。
「親から継承」のプロセッサーはデフォルトで折りたたまれていて、前のチェックボックスをクリックして実行するかどうかを選べるよ。
最後のプロセッサー(カスタムスクリプト)は現在の実行で新しく追加されたもので、現在の実行内で編集できるんだ。

変数の置換#

全ての前処理の最後に、「変数の置換と親からの継承」というステップがあることに気づくかもしれないね。
Apidogでは、「変数の置換」前処理は特別な前処理で、{{変数}}のような変数プレースホルダーを現在の値に置き換える役割を果たすんだ。
ほとんどの前処理は変数の置換の前に実行できて、これがApidogのデフォルトの実行順序だよ。でも、APIシグネチャのようなスクリプトなど、一部のプロセッサーは変数の置換の後に実行する必要があるんだ。そういう場合は、これらのプロセッサーを手動で「変数の置換と親からの継承」ステップの後に移動する必要があるよ。
また、親前処理のセクションでも、プロセッサーを変数の置換の後にドラッグできるんだ。これらの親レベルの操作は、「変数の置換と親からの継承」ステップ内の「親からの継承」セクションに表示されるようになるよ。

実行順序#

単一のリクエストに対するプロセッサーの実行順序はこんな感じだよ:
Previous
HashiCorp Vault
Next
Wait
Built with