Apidogとは?
Apidogは、APIドキュメント、APIのデバッグ、APIのMock、及びAPIの自動テストを統合したコラボレーションプラットフォームです。
Postman + Swagger + Mock + JMeter
の機能を取り入れて、同一のシステムで共通のデータを使用して、異なるシステム間のデータ同期問題の解決に取り組んでいます。APIドキュメントをはっきりと定義している場合、APIのデバッグ、データモック、及び自動テストは再定義せずに直接に行われます。APIドキュメントとAPI 開発の段階でも全く同じツールを使用するので、デバッグを行った後、すべてがAPIドキュメントで定義したものに完全一致することを保証できます。Apidogはこれまでにない効果的、時効的、そして正確的なソリューションと言えます。
API管理の現状
共通のソリューション
- SwaggerでAPIドキュメントを管理する
- PostmanでAPIのデバッグを行う
- faker.jsのようなツールでAPIのデータをMockする
- JMeterでAPIの自動テストを行う
既知の問題
異なるツール間でデータの一貫性を維持することは非常に困難で非効率的です。作業負荷にも留まらず、異なるプラットフォーム間でデータの一貫性がないことが非効果的なコラボレーションと頻繁な困難にも繋がります。そのため、開発者は作業を前に進むことが難しくなります。一般的に知られている問題:
SwaggerでAPIドキュメントを定義したとはいえ、デバッグを行うときに、開発者はPostmanで再定義することが必要です。
フロントエンドの開発者はデータをMockするときに、faker.jsで再び再定義する必要がありますし、手動でMockルールを設定することも必要です。
QAエンジニアもJMeterでそれを再定義する必要があります。
フロントエンド開発者とバックエンド開発者がそれぞれfaker.jsとSwaggerのAPIドキュメントのデータを参照して開発を完了した後、デバッグをして公開しようとする時に、次のことに気づくかもしれません。
- 開発中にAPIに変更があり、Swaggerで修正しましたが、faker.jsで編集しませんでした。
- バックエンドの開発中にAPIドキュメントのデータタイプが一致しないせいで、問題が発生すると、その問題を特定するのは難しくなります。
その同様に、JMeterで書き込まれたテストケースを実際に実行するときに、予想通りにうまくいかない可能性もあります。
時間のとともに、その不一致問題がどんどん深刻になります。
Apidogによるソリューション
上記問題の解決策
Apidog
Apidog = Postman + Swagger + Mock + JMeter
Apidogは、APIドキュメント、APIのデバッグ、APIのMock、及びAPIの自動テストを統合したコラボレーションプラットフォームです。 Postman + Swagger + Mock + JMeter
の機能を取り入れて、同一のシステムで共通のデータを使用して、異なるシステム間のデータ同期問題の解決に取り組んでいます。APIドキュメントをはっきりと定義している場合、APIのデバッグ、データモック、及び自動テストは再定義せずに直接に行われます。APIドキュメントとAPI 開発の段階でも全く同じツールを使用するので、デバッグを行った後、すべてがAPIドキュメントで定義したものに完全一致することを保証できます。Apidogはこれまでにない効果的、時効的、そして正確的なソリューションと言えます。
Apidogの機能
- APIの設計:ApidogのAPIドキュメントは、 OpenApi 3.0 (以前はSwagger) と JSON Schema の使用に準拠し、 便利なビジュアルドキュメント管理機能を提供します。これは、開発者にとって0 学習コストを意味します。また、APIドキュメントのオンライン共有もサポートしています。
- データモデル:
APIの返すデータ構造
とパラメータデータ構造のRequest
(JSONとXMLモードのみ)を定義する場合、再利用可能なデータモデル(Schema)をサポートしています。また、直接ネストされたモデルの参照、直接 JSON/XMLのスマートインポートをサポートし、oneOf、allOfなどの高度な組み合わせパターンをサポートします。 - APIのデバッグ: 環境変数、前/後処理Script、Cookie /セッションのグローバル共有など、Postmanが持っている機能を全部備えています。それに、Apidogは、より使いやすくて効率性が高くなります。APIを実行した後、
APICaseを保存
ボタンをクリックしてAPIケース
を作成すると、この後はパラメータを再入力せずに当該 APIを直接に実行できるので、非常に便利です。カスタムScriptはPostmanの構文に互換し、javascript、java、python、PHP、js、BeanShell、go、shell、ruby、luaやその他のプログラミング言語での実行コードを全面的にサポートしています。 - APIユースケース:APIには通常、多数のユースケース(パラメータのユースケースが正しいか、正しくないか、空であるか、パラメータの状態が異なるなど)があります。ApidogのAPIケース機能は、ユースケースを実行するときに、データの正確性の確認が自動的に開始されるので、デバッグすることは非常に効率的です。
- APIデータのMock:Apidogには、統合されたfaker.jsルールエンジンが含まれているので、非常に簡単に様々なデータをMockし出すことが可能です。開発者は、データ構造をする同時に、Mockのルールを定義できます。そして、「期待」を追加して、Requestパラメータに基づいて複数のMockデータを返すことをもサポートしています。また、最も重要な特徴は、
設定必要なし
で現実的なデータをシミュレートすることです。関連するセクションに関して、後でより多くの情報を紹介します。 - データベース操作:Apidogは、データベースデータの読み取ってそれをAPIのRequestパラメータとして使用することをサポートしています。Apidogは、データベースのデータを読み取って、APIのRequestが成功したかどうかを認証することもできます。
- APIの自動テスト:ApidogはAPIコレクションテストをサポートしているため、開発者はAPI(またはAPIユースケース)を選択してテストコレクションをすばやく作成できます。APIの自動テストに関するより多くの機能はまだ開発中ですが、お楽しみください!開発者のエクスペリエンスを向上させながら、JMeterのすべての機能を備えることがこちらの目標です。
- コード生成:API 及びデータモデルの定義に基づいて、システムは自動的に
API requestコード
,フロントエンドコード
とバックエンドコード
を生成します。 - チームの協業: Apidogはチームのコラボレーションのために設計されています。APIの更新がリアルタイムにクラウドで同期され、
チーム/プロジェクト/メンバー権限
の管理に対応しています。 Apidogは、異なるビジネスモデルのニーズを満たすように努力しています。
Apidogはデータフローだけではなく!
Apidog は、データをフロントエンドとバックエンドの開発者の間で流通することで開発の効率性を向上させるだけではなく、他にもかず多くの革新があります。
APICaseの管理
APIには通常、多数のユースケース(
ラメータのユースケースが正しい
か、正しくない
か、空である
か、パラメータの状態が異なる
など)があります。ApidogのAPIケース機能は、ユースケースを実行するときに、データの正確性の確認が自動的に開始されるので、デバッグすることは非常に効率的です。Schema(データモデル)の定義と参照
データモデルは独立に定義可能、APIが定義されたときにそれを直接参照されること可能です。しかもデータモデルの間で互いに参照することもできます。同じデータ構造は、一度定義することで複数の場所で使用できます。また、開発者は1か所を変更するだけで、不一致問題を避けるためにすべてのところがリアルタイムに更新されます。
データ構造の自動テスト
Apidogを使ってAPIのデバッグを行う場合、システムはAPIドキュメントの定義に基づいて返されたデータが正確的華道家を自動的に確認します。開発者がチェックしたり、アサーションのScriptを手動で書いたりする必要がないため、非常に効率的です。
ビジュアルでアサーションを設定
アサーションの利用:
実行後、アサーションの結果を確認:
ビジュアルで変数を抽出
データベース操作をサポート:
設定なしで現実的なデータをMock
- 上記の内容から、
設定なし
でもApidogはリアルライフで見えるデータをMockし出せることがわかりました。フロントエンド開発者は手動でMockルールを書かずにこれらのデータを直接利用できます。 - Apidogは、設定なしでユーザーフレンドリーのMockデータを効率的に生成できます。
- Apidogは、APIで定義されたデータ構造とデータタイプに基づいてMockルールを生成できます。
- Apidogには、スマートMockライブラリが内蔵され、フィールド名とフィールドのデータタイプに基づいてMockルールを生成できます。例えば:String 型フィールドの名前に「image」が含まれている場合、Apidogはそれに応じて画像 URLを生成できます。String 型フィールドの名前に「time」が含まれている場合、Apidogは時間の文字列を生成できます。また、String 型フィールドの名前に「city」が含まれている場合、Apidogはそれに応じて都市名を生成できます。
- 内蔵のMockルールに基づいて、Apidogは、画像、プロファイル画像、ユーザー名、電話番号、URL、日付、時刻、タイムスタンプ、電子メール、県、都市、住所、IPなどのフィールドを自動的に識別し、現実のようなデータを生成できます。
- 内蔵のMockルールのほか、ユーザーは、自分の独自のニーズを満たすように、ルールをカスタマイズすることができます。正規表現とワイルドカードを使用した文字列マッチングをサポートしています。
オンラインAPIドキュメントを生成
Apidogプロジェクトは、APIドキュメントのオンライン共有をサポートしています。共有されたAPIドキュメントは、公開に設定するか、アクセスのパスワードを設定することができるので、外部チームとのコラボレーションに非常に便利です。
コードの自動生成
Apidogは、APIモデルの定義に基づいて、さまざまなプログラミング言語/フレームワーク(TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rustなど)のコード(Model、Controller、単体テストコードなど)とAPI Requestコードを自動的に生成できます。現在、Apidogは130 個の言語とフレームワークのコードの自動生成をサポートしています。
インポートとエクスポート
- OpenApi(Swagger)、Markdown、Htmlなどの形式でのエクスポートをサポートします。OpenAPI 形式のデータをエクスポートできるため、開発者はOpenAPI(Swagger)の豊富なツールを使用して、さまざまなAPI 関連の作業を進めます。
- OpenApi(Swagger)、Postman、apiDoc、HAR、RAML、RAP2、YApi、NEI、DOClever、Apizza、ShowDoc、API Blueprint、I/O Docs、WADL、Google Discoveryなどの形式のデータのインポートをサポートするため、古いプロジェクトの移行は非常に便利になります。
- また、OpenApi(Swagger)、apiDoc、Apidog 形式のデータの自動インポートをもサポートします。
プロダクトのロードマップ
- パフォーマンステスト:APIパフォーマンステストをサポート(JMeterに類似)。
- プラグインのプラットフォーム化:開発者はプラグインを独自に開発できます。
- Apidog APIの公開:開発者はApidog APIを使用してApidogの各機能にアクセスできます。
- より多くのプロトコル:GraphQL、gRPC、websocketなど、より多くのAPIプロトコルをサポートします。
- オフラインでの使用:プロジェクトは、チーム協業のためにオンラインで同期されることもできますし、全く同期せずにローカルストレージにのみ保存することもできます。
Apidogのダウンロード
Apidogの公式サイトにアクセスして、アプリをダウンロードしてください。 https://apidog.com/jp/