Apidog Docs
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
HomeLearning CenterSupport CenterAPI References
HomeLearning CenterSupport CenterAPI References
Discord Community
Slack Community
X / Twitter
🇯🇵 日本語
  • 🇺🇸 English
  • 🇯🇵 日本語
  1. APIモック
  • 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仕様拡張
    • JSONPath
    • XPath
    • 正規表現
    • JSONスキーマ
    • CSVファイルフォーマット
    • Java環境のインストール
    • ランナーのデプロイ環境
    • ApidogフレーバーMarkdown
  1. APIモック

カスタムMock

Apidogは強力なMock機能を提供しており、APIレスポンスを細かく制御してシミュレートすることができます。このドキュメントでは、Mockデータをカスタマイズする主な2つの方法を紹介します。
1.
特定フィールドのカスタマイズ: Mockレスポンス内の特定のフィールドを制御し、他のフィールドはスマートMockを使用します。
2.
レスポンス全体のカスタマイズ: 固定、条件付き、動的レスポンスをサポートする期待値を用いて、Mockレスポンス全体を定義します。

特定フィールドのカスタマイズ#

時には、レスポンス内の特定のフィールドに対して特定の値を定義し、残りのフィールドはApidogに自動生成(スマートMock)させたい場合があります。Apidogはこれを柔軟に処理する方法を提供しています。

カスタムフィールド値の設定方法#

1. 値を直接入力#

API仕様のMockフィールドに固定値を直接指定すると、Apidogは常にそのフィールドに対してこの値を返します。指定されていないフィールドはすべてApidogのスマートMock生成を使用します。
例:
image.png

2. Faker.jsの動的値を使用#

Apidogの動的値(Faker.jsに基づく)を使用して、リアルなランダムデータを生成できます。以下の構文を使用します。
{{$category.method}}
例:
ランダムなフルネーム: {{$person.fullName}}、結果例: Rachel Wheeler
メールアドレス: {{$internet.email}}、結果例: Arno.Huels33@yahoo.com
商品名: {{$commerce.productName}}、結果例: Elegant Plastic Bike
ドロップダウンから項目を直接選択できます。
image.png

3. パラメータ付きFakerメソッドを使用#

Apidogの拡張Faker.js構文に従って、より専門的なデータのために動的値メソッドにパラメータを渡すことができます。
例:
0から10,000までの整数を生成:
{{$number.int(min=0,max=10000)}}
読みやすい形式の電話番号を生成:
{{$phone.number(style='human')}}
3の倍数の整数を生成:
{{$number.int(multipleOf=3)}}
配列からランダムな要素を選択:
{{$helpers.arrayElement(['red','blue','green'])}}
範囲内の日付を生成(カスタムフォーマット対応):
{{$date.between(from='2024-01-01',to='2024-12-31',format='yyyy-MM-dd')}}
動的値モジュールのドキュメントでモジュール、メソッド、およびそのパラメータの完全なリストを確認してください。

4. 複数の動的式を連結(完全な住所の例を生成)#

静的テキストと複数の動的式を自由に組み合わせて、複雑なフィールド値を生成できます。
例えば、リアルな完全住所を1つの文字列で生成するには、次のように書きます。
{{$location.streetAddress}}, {{$location.city}}, {{$location.state}}, {{$location.zipCode}}, {{$location.country}}
これにより、次のような結果が出力されます。
"8507 Hudson Alley, Rochester, Wisconsin, 96512, United States"
各部分は動的に生成され、モックAPIが呼び出されるたびにユニークでリアルな住所が作成されます。
Mockロケール
Apidogはカスタマイズ可能なMockロケールをサポートしており、ターゲット地域やオーディエンスに合わせた異なる言語やフォーマットで動的なテストデータを生成することができます。Mockロケールの設定方法について詳しくは、Mock言語 (ロケール)をご覧ください。

Mockレスポンス全体のカスタマイズ(Mock期待値)#

特定または高度にカスタマイズされたMockレスポンスを返す必要がある場合は、「Mock期待値」を使用します。これにより、Mockサービスが返す内容を完全に制御できます。

Mock期待値の設定#

背景#

image.png

固定データの返却#

無条件の期待値を設定して、常に同じデータを返すことができます。
手順:
1.
「期待を新規作成」をクリックします。
2.
期待名称を追加します。条件は空白のままにします。
3.
返したいレスポンスデータを入力し、保存します。
4.
提供されたMock URLをコピーして、このAPIにアクセスします。

条件付きデータの返却#

リクエストパラメータに基づいて異なるMockデータを返すことができます。ApidogのMock期待値は、パラメータベースの条件をサポートしています。
異なる条件で複数の期待値を追加します。
Mockエンジンは、これらの条件に一致するリクエストを上から下にマッチングし、最初に一致した期待値を返します。
条件が一致しない場合、Apidogはプロジェクト設定 > 機能設定 > Mock設定で設定されたMockメソッドの優先順位にフォールバックします。
サポートされている条件タイプ
Queryパラメータ
pathパラメータ
Headerパラメータ
Cookieパラメータ
Bodyパラメータ(JSONのみ)
ボディパラメータの場合、プロパティへのJSONパスを指定します。条件は交差(すべて一致する必要があります)として組み合わされます。
注意
BodyパラメータはJSONのみをサポートし、XMLはサポートしていません。
パラメータ条件は{{variables}}を使用できません。
期待値マッチングにBodyパラメータを使用する場合、リクエストBodyの形式はAPI仕様に一致している必要があります(例: form-data、JSONなど)。
特定のIPに対してレスポンスを制限するために、IPアドレス条件を追加することもできます。

動的Mockデータの返却#

Mock期待値は、Faker.jsとNunjucksの構文を使用して動的でランダムなデータをサポートしています。
例#
{
    "data": [
        {% for i in range(0, 20) %}
        {% if i>1 %},{% endif %}
        {
            "id": {{i}},
            "firstname": "{{$person.firstName}}",
            "lastname": "{{$person.lastName}}"
        }
        {% endfor %}
    ],
    "success": true
}
上記は以下を生成します:
20のユーザーオブジェクトの配列(id = 0から19)
各オブジェクトにはランダムに生成された"firstname"と"lastname"が含まれます
一定の"success": true
{{$...}}構文はFaker.jsを呼び出してランダムな値を生成します。
Nunjucksはループ({% for ... %})やロジックに使用されます。
{{i}}はNunjucksのループ変数を指します—Apidogの変数ではありません。
注意
ApidogはFaker.jsの表現に{{$...}}を使用します(ネイティブJS呼び出し構文ではありません)。
Faker.js(ネイティブ): faker.person.firstName()
Apidog: {{$person.firstName}}
Apidogのプロジェクト/環境変数({{variable}}のような)はMock期待値では利用できません。
Faker.jsとNunjucksの完全なドキュメント: Faker.js, Nunjucks

その他の機能#

カスタムレスポンスヘッダー
認証、ページネーション、その他のAPI契約をシミュレートするために、Mock期待値にカスタムヘッダーを追加できます。
高度なレスポンスプロパティ
Mock期待値内の「詳細」タブで以下を設定できます:
HTTPステータスコード: エラーや特別なケースをシミュレート(デフォルトは200)。
レスポンス遅延: 遅いAPIレスポンスをシミュレートするために遅延を追加(ミリ秒単位)。
期待値の有効化/無効化
期待値リストからローカルおよびクラウドMock環境で各期待値を個別にオン/オフできます。

まとめ#

ApidogのカスタムMockを使用すると、以下が可能です:
柔軟性のために特定のMock値と自動生成データを混在させる。
包括的なテストシナリオのために、完全な固定、条件付き、または動的レスポンスを定義する。
Faker.jsとNunjucksを活用して、強力でリアルな可変Mockデータを作成する。
ヘッダー、遅延、ステータスコードなどをシミュレートする。
これらの機能を活用して、本番APIを反映した堅牢で高忠実度なAPIシミュレーションを作成しましょう!
Modified at 2025-04-25 09:28:37
Previous
スマートMock
Next
Mockの優先順位
Built with