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
      • 組織リソース
        • セルフホストランナー
  • 請求情報
    • 概要
    • プランのアップグレード
    • クレジット
    • クレジットカードが使えない?
    • サブスクリプションの管理
  • データ & セキュリティ
    • Apidogのデータはどこに保存され、データセキュリティはどのように確保されていますか?
    • ユーザーデータはどのように保存されますか?このデータは公開されますか?それともプライベートですか?すべてのデータはクラウドに保存されますか?
    • リクエストを送信する際、Apidogサーバーを経由しますか?データセキュリティは確保されていますか?
  • アドオン
    • 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. API開発 & デバッグ

動的な値

Apidogでリクエストをデバッグする際、リクエストパラメータやボディに値、名前、住所などのデータを作成する必要があることがよくあります。そんなとき便利なのが動的な値機能です。
動的な値を使うと、リクエストを送信するたびに、事前に定義したルールに基づいて新しい値を生成できます。これによりデバッグ作業が効率化され、各リクエストに固有のデータを含めることができます。

使い方#

1
APIの「実行」タブに移動する
2
動的にしたいパラメータの元の値を削除し、値の右側にある魔法の杖 アイコンをクリックする。この例では「name」パラメータを選択します
3
「データジェネレータ」をクリックし、必要な動的値タイプ(例:Person.firstName)を選択する
4
「挿入」をクリックしてパラメータに動的な値を挿入する
5
「送信」をクリックすると、「実際のリクエスト」で送信された実際の名前が"Jennifer"であることが確認できる
6
リクエストを再度送信すると、新しいファーストネームが動的に生成される

JSONボディでの動的な値の使用#

JSONボディをPOSTする必要があり、JSON内の一部の値を動的に生成したい場合も、動的な値を使用できます。
1
JSONボディを持つPOST APIを見つけ、「実行」タブに切り替える
2
JSONボディで「自動生成」-「フィールド名を生成」をクリックすると、仕様で定義されているプロパティ名が取得できる
3
正しい位置にカーソルを置き、「 動的な値を挿入」をクリックして、「データジェネレータ」を選択する
4
適切なデータタイプを選択し、「挿入」をクリックする
5
すべてのフィールドに値を追加する
6
「送信」をクリックすると、「実際のリクエスト」セクションで送信された実際のJSONボディを確認できる
7
リクエストを再度送信すると、動的な値が新しいJSONボディを生成する

カスタム式での動的な値の使用#

情報の文字列をカスタマイズする必要があり、その情報の中に動的に生成する必要がある値がある場合は、カスタム式をクリックして動的な値の式を入力することもできます。
1
動的な式をクリックして入力ボックスを開く
2
連結などの方法で動的な値の式を入力して、期待する内容を生成する。生成された情報は下部でリアルタイムにプレビューできる
3
「挿入」をクリックすると、パラメータ値セクションにカスタム式が表示される
一般的なカスタム動的値の例をいくつか示します。動的値モジュール をクリックして、その他の動的値メソッドを確認することもできます。
必要なカスタム内容カスタム式出力例メソッドの連結と意味
タイムスタンプ付きのランダムユーザー名{{$internet.userName}}_{{$date.now}}"Kattie_Rice64_2024-09-04T05:51:42.413Z"{{$internet.userName}}でランダムなユーザー名を生成し、{{$date.now}}で現在時刻を取得し、テンプレートリテラルで連結
会社ドメイン付きのランダムメールアドレス{{person.lastName}}@{{$company.name | lower}}.com"Kole.Haag@schmidt-schoen.com"{{$person.firstName}}と{{$person.lastName}}でランダムな名前を生成し、{{$company.name | lower}}で会社名を生成して小文字に変換し、メールアドレスの形式に連結
番地とアパート番号を含むランダムな住所{{$location.buildingNumber}} {{$location.street}}, Apt. {{$number.int(min=1,max=1000)}}, {{$location.city}}, {{$location.state(abbreviated=true)}} {{$location.zipCode}}"723 Klein Inlet, Apt. 814, North Myron, DE 67605"複数のメソッドを使用して、番地、通り名、アパート番号、市、州、郵便番号を含む詳細な住所を生成
業種と会社形態を含むランダムな会社名{{$company.buzzAdjective}} {{$company.buzzNoun}} {{$company.name}}"web-enabled architectures Fay Inc"companyメソッドを使用して、業界の説明と会社形態を含む会社名を生成
過去1年以内のランダムな日付{{$date.past(years=1)}}"2023-10-24T09:25:24.109Z"{{$date.past(years=1)}}メソッドを使用して過去1年以内のランダムな日付を生成
通貨記号付きのランダムな価格{{$finance.currencySymbol}}{{$commerce.price}}"KM12.89"{{$finance.currencySymbol}}でランダムな通貨記号を生成し、{{$commerce.price}}で価格を生成して連結
ランダムな商品説明{{$commerce.productAdjective}} {{$commerce.productMaterial}} {{$commerce.product}} - {{$lorem.sentences(min=2,max=4)}}"Small Wooden Pizza - Thema copiose dens adinventitias a. Causa uxor terreo defleo vitiosus animi."{{$commerce.productAdjective}}と{{$lorem.sentences(min=2,max=4)}}メソッドを使用して、商品の特徴と説明を含むテキストを生成
ハッシュタグ付きのランダムな文章#{{$lorem.slug(min=1,max=3)}} {{$lorem.sentence(min=1,max=3)}}"#provident-quidem-tempore Vita comprehendo id."{{$lorem.slug(min=1,max=3)}}でランダムなハッシュタグを生成し、文章の前に連結
ポート番号付きのランダムIPアドレス{{$internet.ipv4}}::{{$number.int(min=1024,max=65535)}}"246.222.133.63::56332"{{$internet.ipv4}}でランダムなIPアドレスを生成し、{{$number.int(min=1024,max=65535)}}でポート番号を生成して連結
クエリパラメータ付きのランダムURL{{$internet.url}}?{{$lorem.slug}}={{$lorem.word}}"https://nippy-bob.name/?nemo-provident-clementia=blandior"{{$internet.url}}、{{$lorem.slug}}、{{$lorem.word}}を使用してクエリパラメータ付きのランダムURLを生成
ランダムなファイルパス/path/to/{{$lorem.slug}}/{{$system.fileName}}"/path/to/caritas-solio-vilicus/across.img"{{$lorem.slug}}、{{$system.fileName}}と文字列連結を使用してランダムなファイルパスを生成
ランダムなデータベーステーブル名table_{{$string.alphanumeric(length=5)|lower}}"table_brxlr"{{$string.alphanumeric(length=5)|lower}}を使用してランダムな文字列を生成し、テーブル名を形成
ランダムなHTMLコードスニペット<p>{{$lorem.sentence}} <a href="{{$internet.url}}">{{$lorem.word}}</a></p>"
Calamitas velociter una succurro depopulo. comminor
"
{{$lorem.sentence}}と{{$internet.url}}を使用してリンクを含むランダムなHTMLコードを生成
ランダムなHTTPリクエストヘッダー{ "User-Agent": {{$internet.userAgent}}, "Referer": {{$internet.url}} }{ "User-Agent": Opera/13.25 (Macintosh; Intel Mac OS X 10.7.9 U; HE Presto/2.9.171 Version/12.00), "Referer": https://queasy-dusk.info/ }{{$internet.userAgent}}と{{$internet.url}}を使用してUser-AgentとRefererを含むランダムなHTTPリクエストヘッダーを生成

動的な値の使用例#

動的な値はAPIテストで幅広く活用できます。以下は代表的な例です:
実際のデータをシミュレート: ユーザー名、住所、メールアドレスなど、様々な形式のデータに対するAPIの挙動をテストする必要がある場合。動的な値を使用すると、実際のシナリオに近いテストデータを大量に生成でき、テストカバレッジを向上できます。
ユニークな値の生成: 注文番号、ユーザーID、取引IDなど、データの一意性を確保する必要があるテストシナリオの場合。動的な値を使用してタイムスタンプやランダム数に基づいてユニークな値を生成し、データの競合を防ぎ、正確なテスト結果を確保できます。
データ処理の効率化: テストの実行ごとに手動でデータを変更する代わりに、動的な値を使用して必要なデータを自動生成できます。これにより、大幅な時間と労力を節約し、テスト効率を向上できます。

動的な値の手動挿入#

動的な値を挿入したい入力フィールドで、{{$ と入力すると動的な値のリストが表示されます。
以下のいずれかの方法で必要な変数をすばやく見つけることができます:
完全一致入力: 動的な値の名前を正確に入力します(例:$timestamp)
あいまい検索: 「time」などのキーワードの一部を入力すると、システムが自動的にマッチする動的な値をフィルタリングして表示します
目的の動的な値を選択して入力フィールドに挿入します。
この方法では、動的な値にパラメータや関数を直接追加することはできません。

データジェネレータ#

データジェネレータを使用すると、必要に応じてカスタムデータを生成できます。
パラメータ入力フィールドにカーソルを合わせ、表示される魔法の杖アイコンをクリックすると、より高機能な「データジェネレータ」パネルが開きます。
パネルでは、以下の2つの方法で目的の動的な値を見つけることができます:
変数タイプで検索: 「日付」「文字列」「数値」などの動的な値のタイプを選択して、目的の変数の範囲をすばやく特定し、検索効率を向上させる
キーワードで検索: 上部の「タイプ」入力ボックスにキーワード(例:「time」)を入力すると、システムが自動的にマッチする動的な値をフィルタリングして表示し、すばやく見つけることができます
目的の動的な値を選択したら、以下の操作でより細かいデータ生成のニーズに対応できます:
メソッドの追加: 一部の動的な値では追加のメソッドをサポートしています。例えば、{{$date.now}}はaddDaysメソッドを使用して特定の日付のデータを生成できます。
処理関数の追加: すべての動的な値の結果に関数を適用できます。例えば、md5関数を使用して文字列を暗号化し、セキュリティ要件を満たすテストデータを生成できます。
「式」エリアには、現在選択している動的な値、メソッド、関数が明確に表示され、確認や修正が簡単にできます。
「プレビュー」エリアには、動的な値によってリアルタイムで生成されたサンプルデータが表示されます。「プレビュー」エリアの末尾にある「更新」ボタンをクリックすると、新しいサンプルデータが生成され、データ生成の効果を簡単に確認できます。
「プレビュー」エリアのサンプルデータをクリックすると、内容が自動的にコピーされ、必要な場所に簡単に貼り付けることができます。

データの言語/国の設定#

Apidogの動的な値は、多言語環境でのテストニーズに対応するため、異なる言語でのサンプルデータ生成をサポートしています。設定方法は以下の通りです:
1.
「データジェネレータ」パネルを開く
2.
日付と時刻以外の動的な値タイプの場合は、動的な値の右上にある設定ボタンをクリックし、対象の言語を選択する
3.
日付と時刻の動的な値タイプの場合は、formatとlocaleメソッドを使用して言語とフォーマットを指定できる

強力な日付操作とフォーマット#

Apidogは豊富な日付と時刻の動的な値を提供するだけでなく、開発プロセスを簡素化することに力を入れています。以下は簡単に実現できる機能です:
柔軟な時間調整: addメソッドを使用すると、現在時刻を基準に時間単位を簡単に加算または減算できます。例えば、{{$date.now|addHours(-3)}} は現在時刻より3時間前の日付を返します。
多様な日付フォーマット: format メソッドを使用すると、必要に応じて日付を異なるフォーマットに整形できます。例えば、{{$date.now|formatISO}} は日付をISO 8601標準に従ってフォーマットします。
正確なタイムゾーン制御: timezoneパラメータを設定することで、日付のタイムゾーンを簡単に制御できます。例えば、{{$date.now|format('yyyy-MM-dd HH:mm:ss',timezone='America/Port-au-Prince')}}はUTC+8:00タイムゾーンにおける現在時刻に対応する日付を返します。

よく使用される動的な値#

Apidog動的な値を最大限活用していただくため、利用可能な値の包括的なリストと具体的な例を用意しました。動的な値モジュールをクリックすると、必要な値をすぐに見つけて使用方法を学ぶことができます。
Apidogアプリケーション内で動的な値の式にマウスを合わせると、簡単な説明と例を確認することもできます。
Previous
APIケース
Next
レスポンス検証
Built with