1 Apidogを使い回す
2 本文では、
3 Apidogを利用し始めようとするユーザーに対して、
4 コア機能を紹介します。
5
6 30分間ほどの所要時間が必要です。
7
8
9 Apidogが選ばれた理由
10 開発チームがAPIの設計、
11 管理、
12 テストのために、
13 Postman、
14 Swagger、
15 Stoplight、
16 Jmeterなどのさまざまなツールを使用していることが多いことを観察しました。
17 ただし、
18 これらのツール間でのデータ同期とコラボレーションがないので、
19 効率が大幅に下がる可能性があります。
20
21
22 開発チーム全体が単一のAPIツール内ですべての作業をやり遂げるのは、
23 より良い解決策だろうと思っています。
24 APIドキュメントが定義されている限り、
25 バックエンド開発者はAPIを簡単に実装して自己テストを行い、
26 フロントエンド開発者はAPIを簡単に呼び出してMockデータを使用し、
27 テストエンジニアはAPIを直接テストしてテストケースを簡単に生成できたら、
28 チーム協同作業の効率が大幅に向上できるのでしょう。
29
30
31 これこそ、
32 私たちはApidogを始めたきっかけです。
33 Apidogは、
34 チームの協同作業のために設計されていて、
35 APIの設計、
36 開発、
37 テスト、
38 管理、
39 ドキュメント生成やMockなどのことが実現され、
40 今までにない包括的なAPIツールです。
41
42
43 Apidogとは
44 Apidogは、
45 API開発のためのオールインワンツールキットです。
46 チーム全体が協力して、
47 APIをより効率的かつ便利に作成するために開発されているものです。
48 チームの各メンバーは、
49 それを使って自分の問題解決を図ることができます。
50
51
52 apidog
53
54 Apidogは、
55 APIの設計と開発をユーザーインターフェイスより優先する開発アプローチ(いわゆるAPIファーストアプローチ)を採用しています。
56 このアプローチには、
57 次のようないくつかのメリットがあります。
58
59
60 Apidogを使用すると、
61 チームの各メンバーは同時に作業を進んでサービス間で合意を達成することで、
62 複数のAPIで同時に作業し、
63 開発速度を大幅に向上させることができます。
64
65 自動化は、
66 APIの定義ファイルのインポートツールを通して実現され、
67 APIの開発と実行に必要な時間を短縮できます。
68
69 直感的なデザインと十分に文書化されたAPIドキュメントにより、
70 開発者の優れたエクスペリエンスが保証されます。
71 また、
72 開発者が簡単にコードを使用・再利用し、
73 新しい開発者をオンボードし、
74 学習コストを減らすこともできます。
75
76 コードが書かれる前にも、
77 ほとんどの問題を解決することができるので、
78 APIをアプリケーションに統合する際に問題を発生することを防ぐこともできます。
79
80 API設計者:APIの作成
81 API設計者はApidogを使用して、
82 APIを視覚的に作成するか、
83 OpenAPIの仕様からインポートします。
84
85
86 OpenAPIの仕様からインポート
87 APIがOpenAPIまたはその他の形式で指定されている場合は、
88 Apidogにインポートすると、
89 簡単にデバッグ、
90 テスト、
91 またはMockすることができます。
92
93
94 Apidogのプロジェクトで インポートをクリックします。
95
96 Import
97
98 URLのインポートを選択して、
99 次のURLを貼り付けて、
100 提出をクリックします。
101
102 https://petstore.swagger.io/v2/swagger.json
103 apidog
104
105 JSONとYAMLファイルからのインポートも可能ですが、
106 Apidog、
107 HARなど、
108 他のAPI仕様の形式もサポートされています。
109
110
111 確認をクリックしてインポートします。
112
113 apidog
114
115 ここでApidogを使用してAPIを実行するか、
116 テストすることができます。
117
118 apidog
119
120 ヒント
121
122 データのインポートの詳細を ここで見る。
123
124
125 新しいAPIを作成
126 API設計者は非常に直感的なインターフェース内でAPIを作成できます。
127
128
129 新しいタブで 新しいAPI をクリックしてエンドポイントを作成します。
130
131 apidog
132
133 次に、
134 IDでユーザー情報を照会するためのAPIを指定します。
135 そのため、
136 次のフィールドをAPIに入力できます。
137
138 APIパス:
139 /users/{id}
140 名前:
141 IDでユーザー情報を取得
142 apidog
143
144 このAPIには、
145 QueryパラメータとBodyパラメータがありません。
146 ここで「Id」がPathパラメータとして認識されると、
147 「Request」の部分が完成しました。
148
149 Response 部分に移動して、
150 「OK (200)」でルートノードのフィールドタイプを「参照モデル → Schemas → ApiResponse」に変更します。
151
152 apidog
153
154 ここでAPIは、
155 次のような一般のJSON構造を生成しました。
156 全てのAPIも異なる「data」フィールドがあるため、
157 ルートノードに「data」と名付けられた子ノードを追加します。
158
159 apidog
160
161 「data」ノードのフィールドタイプを「参照モデル → Schemas → User」に変更します。
162
163 apidog
164
165 ここでResponseをうまく設定できました。
166 「data」構造内のデータを編集する場合は、
167 スキーマ参照を解除するか、
168 編集したいフィールドの参照を解除する必要があります。
169
170 apidog
171
172 ヒント
173
174 データSchemaの詳細を ここで見る。
175
176
177 Responseの例の部分に移動して、
178 例を追加をクリックします。
179
180 apidog
181
182 例の名称を「Success」に設定します。
183 ここで 自動生成をクリックして、
184 戻りデータがResponse構造に基づいて生成されます。
185 OK をクリックして例を追加します。
186
187 apidog
188
189 保存をクリックして、
190 APIの作成が完了しました。
191 ここでうまく設計されたAPIが手に入れましたよ。
192
193 apidog
194
195 バックエンド開発者:APIの開発とデバッグ
196 異なるチームは異なる開発アプローチを採用しています。
197 APIファーストを採用しているチームもありますし、
198 コードファーストを採用しているのもあります。
199 ただし、
200 チームがどの方法を採用していても、
201 バックエンド開発者はApidogを使用してAPIの開発とデバッグを簡単に実現できます。
202
203
204 コードの生成
205 APIが指定された場合、
206 スタブサーバーとクライアントSDKが簡単に生成されます。
207 APIページで コード生成 ボタンから すべてのコードを生成をクリックするだけです。
208
209 apidog
210
211 OpenAPI Generatorエンジンを利用して、
212 スタブサーバーとクライアントSDKを数十個の言語で生成できます。
213
214 apidog
215
216 ヒント
217
218 コード生成の詳細を ここで見る。
219
220
221 APIを実行
222 APIの開発が完了すると、
223 多くの場合ではバックエンドの開発者は、
224 APIが異なるパラメータで正確な結果を返すかをデバッグする必要があります。
225 Apidogを使用すると、
226 各APIをデバッグし、
227 正常に実行できることを簡単に確認できます。
228
229
230 先に作成したAPIのページで、
231 実行ボタンをクリックして 実行 タブに移動します。
232
233 apidog
234
235 「id」パラメータのパラメータ値で「1」を入力します。
236 ここで送信待ちのrequest URLの中の {id} は、
237 「1」に置き換えられます。
238
239 apidog
240
241 画面の右上角の 環境の管理ボタンをクリックします。
242
243 apidog
244
245 「テスト環境」に切り替えて、
246 次のURLを「Default Sever」サービスに貼り付けます。
247 その後、
248 環境を保存します。
249
250 https://mock.apidog.com/m1/352945-0-default
251 ヒント
252
253 環境管理の詳細を ここで見る。
254
255
256 apidog
257
258 そして、
259 「Testing Env」を選択すると、
260 先に設定したBase URLは、
261 送信待ちのすべてのrequestsの先頭に追加されます。
262
263 apidog
264
265 送信をクリックしてRequestを送信します。
266 APIのResponseは下の部分で表示されます。
267
268 apidog
269
270 デバッグ
271 APIの開発が環境を設定した後、
272 バックエンド開発者は、
273 期待のデータを返しているか、
274 APIが正しいロジックを実装しているかをテストする必要があります。
275
276
277 pathパラメータの値を「2」に設定して、
278 Requestを 送信します。
279
280 apidog
281
282 「.data.id should be integer」という警告が表示されます。
283 なぜかというと、
284 .data.idshouldbeinteger」という警告が表示されます。
285 なぜかというと、
286 .data.idはintegerである必要がありますが、
287 実際に返された$.data.idはStringになっているからです。
288
289 apidog
290
291 Apidogは、
292 APIの定義と実際のResponseが一貫しているかどうかを自動的に検証します。
293 正しくないデータタイプ、
294 定義されていない列挙値、
295 必須フィールドの欠落などの問題は自動的に検出されます。
296 バックエンド開発者は、
297 戻りデータの問題を簡単に検出できます。
298
299 APICaseを保存ボタンをクリックしてRequestを保存します。
300 当該RequestはAPIの子ディレクトリに保存され、
301 テストモジュールに参照されることができます。
302
303 apidog
304
305 apidog
306
307 変数の利用
308 Apidogでは、
309 変数がRequest間で再利用可能な値を格納するために利用されています。
310
311
312 環境変数は環境に繋がっています。
313 つまり、
314 特定の環境が選択された場合にのみアクセス可能です。
315 一方、
316 グローバル変数は、
317 すべての環境でアクセスできます。
318
319
320 Apidogの「環境の管理」セクションで環境変数を定義し、
321 {{variableName}}のように二重波括弧を使用して、
322 Requestで環境変数を参照できます。
323
324
325 例:
326
327 pathパラメータ「id」の値に{{Userid}}を入力します。
328
329 apidog
330
331 環境管理をクリックします。
332 Useridと名付けられた変数を新しく追加し、
333 ローカル値に「1」を記入して、
334 変数を保存します。
335
336 apidog
337
338 Requestを送信します。
339 Response - 実際のRequestの順にrequest URLを確認できます。
340 ここで {{Userid}} は ローカル値に置き換えられたことを確認できます。
341
342 apidog
343
344 ヒント
345
346 変数の詳細を ここを見る。
347
348
349 前処理
350 Apidogでは、
351 前処理はRequestを送信する前に実行される操作です。
352 これにより、
353 Requestが送信される前にRequestと環境変数を操作できます。
354
355
356 前処理の利用シーン:
357
358 Requestで利用されている変数の設定と編集
359 データ検証、
360 またはデータ変換の実行
361 Headerの追加と編集
362 ログ情報とデータのデバッグ
363 他のReuqestを行い、
364 そのResponseデータを変数への保存
365 Request URLの編集
366 これらの操作はJavaScriptに書き込まれ、
367 Postman SDKでRequest、
368 Responseオブジェクト、
369 環境変数、
370 及びグローバル変数にアクセスできます。
371 Scriptが追加されると、
372 Requestが送信されるたびに実行されます。
373
374
375 前処理のRequestパラメータ値を変更する例:
376
377 前処理タブをクリックし、
378 前処理を追加 ボタンをクリックして カスタムScriptを追加します。
379
380 apidog
381
382 次のScriptを カスタムScriptエリアに貼り付けます。
383
384 let Userid = parseInt(pm.environment.get("Userid"));
385 Userid = Userid + 1;
386 console.log(Userid);
387 pm.environment.set("Userid", Userid);
388 apidog
389
390 カスタムScript を 変数置換&親を継承にドラッグして、
391 Requestを送信します。
392
393 apidog
394
395 送信した後、
396 {{Userid}}の値が2になったことを確認できます。
397 そして、
398 Requestを複数回送信する場合、
399 送信する度に、
400 {{Userid}} の値に1をプラスするようになります。
401
402 apidog
403
404 共通Script、
405 データベース操作及び待機時間は、
406 前処理に追加可能な項目です。
407
408 apidog
409
410 ヒント
411
412 Scriptの詳細を ここで見る。
413
414
415 フロントエンド開発者: APIのMock
416 APIのMockは、
417 テストと開発の目的で使用されるAPIのシミュレートされたバージョンです。
418 これにより、
419 開発者はライブAPIに依存せずにアプリケーションやサービスをテストでき、
420 送信のRequestに特定のResponseを返すように構成できます。
421
422
423 指定されたAPIに基づいて、
424 Apidogは設定なしでMockデータを自動的に生成できます。
425 それはフロントエンド開発者にとって非常に便利な機能です。
426
427
428 APIタブで ローカルMockを選択します.そして、
429 Click the URL/パラメータをクリックして、
430 「OK(200)」をコピーします。
431
432 apidog
433
434 ブラウザでURLを貼り付けます。
435 そして、
436 生成されたJSONが見えます。
437 そのデータはダイナミックで、
438 ページをリフレッシュする度にデータが変わります。
439
440
441 特に、
442 生成されたデータには、
443 「email」や「lastName」のような項目があります。
444 ご覧のように、
445 これらの値は非常に合理的で現実みたいものになります。
446 この機能は、
447 Apidogの スマートMockと言います。
448
449
450 apidog
451
452 変更タブの Response 部分で 「ApiResponse」Schemaの 参照を解除 します。
453
454 apidog
455
456 ノード内の各 Mock値を入力して、
457 APIを 保存 します。
458
459 code
460 200
461 type
462 JSON
463 message
464 Success
465 apidog
466
467 ブラウザでページを再読み込みすると、
468 JSONデータが更新され、
469 「code」、
470 「type」、
471 および「message」フィールドが設定に従って生成されます。
472 現在、
473 フロントエンド開発者は単にURLを使用して、
474 開発中のクライアントでデータを取得できるようになります。
475
476 apidog
477
478 Mock設定は、
479 Faker.jsをもサポートしています。
480 任意のFaker.js文法を選択してダイナミックのMockデータを生成できます。
481
482 apidog
483
484 MockのResponseを修正する必要がある場合、
485 設定 - 機能設定 - Mock設定 - デフォルトMockタイプの順にクリックし、
486 Response例を優先に切り替えます。
487 ApidogのMockエンジンは、
488 API Responseの例をMockのResponseとして使用します。
489
490 apidog
491
492 ヒント
493
494 ApidogのMock機能は、
495 クラウドMockもサポートし、
496 さまざまなRequestパラメータに対して異なるMock Responseを返したり、
497 Scriptを使用してMockのResponseを書き換えたり、
498 賢いMockマッチングルールをカスタマイズしたりすることができます。
499
500 Mockの詳細を ここでを見る。
501
502
503 QAエンジニア:APIのテスト
504 Apidogの自動テストモジュールにより、
505 QAエンジニアはAPIの定義またはAPIケースを参照して、
506 テストのシナリオを直接に生成できます。
507 データ駆動型テストをサポートし、
508 ダイナミックのテストデータを簡単に生成できます。
509 また、
510 アサーションと変数抽出機能により、
511 テストケースの作成を非常に簡単にしました。
512 ApidogはCI/CDもサポートしています。
513
514
515 アサーション
516 Apidogでは、
517 後処理でサーションを追加することができます。
518 また、
519 Postman SDKを使用してカスタムスScriptでアサーションステートメントを追加することもサポートしています。
520
521
522 Get user by id - Successという保存ケースに移動して、
523 後処理 タブで 後処理を追加 - アサーションの順にクリックします。
524
525 apidog
526
527 アサーションで次のパラメータを設定します:
528 Response JSON
529 $.code
530 Assertion
531 等しくない: 200
532 ヒント
533
534 JsonPathの詳細を ここで見る。
535
536
537 apidog
538
539 Reuqestを送信すると、
540 アサーション結果を確認できます。
541
542
543 Apidogは、
544 Response JSONから$.codeの値を取得して、
545 アサーションと比較します。
546 マッチングする場合、
547 アサーション結果は合格になります。
548
549
550 apidog
551
552 後処理では、
553 変数抽出, カスタムScript, 共通Script, データベース操作と 待機時間も追加されることができます。
554
555
556 MySQL、
557 SQL Server、
558 Oracle、
559 PostgreSQL、
560 およびClickHouseデータベースは、
561 Apidogでサポートされています。
562 SQLステートメントを実行でき、
563 SELECT結果を変数に抽出できます。
564 INSERT、
565 DELETE、
566 UPDATEなどの他のSQLも実行できます。
567
568
569 apidog
570
571 ヒント
572
573 データベース操作の詳細を ここで見る。
574
575
576 シナリオテスト
577 アサーションを書いた後、
578 複数のAPIケースを同じ単一のテストケースにインポートし、
579 1クリックで実行してテストレポートを生成します。
580
581
582 自動テストモジュールにアクセスして、
583 新規テストケースを作成します。
584
585 APidog
586
587 当該ケースの設定を終了してそれにアクセスします。
588 ステップを追加をクリックして、
589 APIテストケースからインポートするを選択します。
590
591 APidog
592
593 テストのステップとして、
594 保存したAPICaseを選択して、
595 「確認」をクリックしてインポートします。
596
597 APidog
598
599 テストケースを行うには、
600 実行ボタンをクリックします。
601 そして、
602 詳細なテストレポートが作成され、
603 各Requestの詳細を確認することができます。
604
605 apidog
606
607 失敗した項目で 詳細をクリックし、
608 Responseとアサーションを比較して、
609 うまく行かなかった原因をチェックできます。
610
611 apidog
612
613 apidog
614
615 ヒント
616
617 テストケースの詳細を ここで見る。
618
619
620 データ駆動型テスト
621 APIケースで変数が使用される場合、
622 データテーブルか「動的値」機能を使用して変数の値を自動的に生成するように設定できます。
623
624
625 テストデータをオンにして、
626 テストデータを管理するをクリックします。
627
628 apidog
629
630 変数とデータベースを追加し、
631 変数の値も設定します。
632 ここでCSVかJSONからインポートすることもサポートされます。
633 保存をクリックして、
634 テストデータの設定を保存します。
635
636 apidog
637
638 ここテストデータを利用するかを選択して 実行します。
639 変数の値は、
640 テストケースの反復で使用されます。
641
642 apidog
643
644 ヒント
645
646 テストデータの詳細を ここで見る。
647
648
649 CI / CD
650 Apidogはコマンドラインでの実行をサポートしています。
651 Apidog CLIをインストールした後、
652 apidog runコマンドを使用してコマンドラインのテストレポートを取得できます。
653 このコマンドは、
654 Jenkinsでも利用して、
655 CI/CDを実装できます。
656
657
658 テストケースで「CI/CD」をクリックします。
659
660 Apidog
661
662 テストのパラメータを設定して保存すると、
663 コマンドラインが生成されます。
664 ここで さらに詳しくをクリックしてApidog CLIをインストールします。
665
666 apidog
667
668 ヒント
669
670 CI / CDの詳細を ここで見る。
671
672
673 APIの設計者 & APIユーザー: APIドキュメント
674 APIの設計、
675 開発、
676 デバッグ、
677 テストが終了すると、
678 APIは、
679 他のユーザーが利用できるプロダクトになります。
680 Apidogは綺麗なAPIドキュメントを生成できるため、
681 開発チームはAPIを公開する時に役立ちます。
682
683
684 共有モジュールにアクセスし、
685 +新しい共有から共有項目を作成します。
686
687 apidog
688
689 APIドキュメント実行環境を選択すると、
690 APIドキュメントの利用者は、
691 ここで設定された環境を使用してAPIを実行できます。
692
693 apidog
694
695 「開く」をクリックして共有対象となるドキュメントをブラウザで開きます。
696
697 apidog
698
699 APIドキュメントが生成され、
700 インターネット上で共有できます。
701 また、
702 共有したWebサイトで「送信」することもできます。
703
704 APidog
705
706 コードのサンプル機能は、
707 APIのRequestコードを数十個のプログラミング言語で生成できます。
708 そして、
709 APIリーダーが生成されたコードで直接にAPIを呼び出すことが可能になります。
710
711 APidog
712
713 Responsesのコード生成 機能は、
714 Responseデータの構造に従ってコードを生成できます。
715 数十個のプログラミング言語がサポートされ、
716 API利用者は、
717 生成されたコードを直接に実装の段階で使用できます。
718
719 apidog
720
721 apidog
722
723 ドキュメント機能では、
724 カスタムドメイン、
725 上部のナビゲーション、
726 カタログのスタイル, コンテンツのフッターなど、
727 他にも多くのカスタム機能はサポートされています。
728
729 apidog
730
731 ベストプラクティス
732 1.Apidogでは、
733 API設計者(またはバックエンド開発者)がAPIの仕様を定義します。
734
735
736 2.開発チームは協力して、
737 ドキュメントをレビュー&改善し、
738 APIユースケースの一貫性を確保します。
739
740
741 3.Apidogを使用すると、
742 フロントエンド開発者は自動的に生成されたMockデータで開発を開始でき、
743 手動でMockルールを作成する必要はありません。
744
745
746 4.バックエンド開発者は、
747 開発中にAPIユースケースを使用してデバッグできます。
748 デバッグ中にすべてのAPIユースケースが合格した場合、
749 開発完了。
750 また、
751 開発中にAPIの変更がある場合、
752 APIドキュメントもデバッグ中に自動的に更新され、
753 最小限の手間で適時にAPIメンテナンスを行えます。
754
755
756 5.デバッグ後、
757 バックエンド開発者はAPIユースケースとして機能を簡単に保存できます。
758
759
760 6.QAエンジニアは、
761 APIユースケースを使用してAPIを直接にテストできます。
762
763
764 7.すべてのAPIが開発されると、
765 QAエンジニア(またはバックエンド開発者)は、
766 テストケースとテストコレクション機能を使用して、
767 全面的に複数のAPIインテグレーションテストを実施できます。
768
769
770 8.フロントエンドとバックエンド開発の共同デバッグは、
771 両方のチームが同じなAPIの仕様に準拠しているため、
772 フロントエンド開発者がMockデータから実際のデータに切り替える時にも、
773 通常問題が発生しません。
774
775
776 9.API開発が完了すると、
777 Apidogは綺麗なAPIドキュメントを生成し、
778 開発チームがAPIを外部チームに簡単に公開できます。
779
780
781 上記は、
782 Apidogのコア機能と操作ガイドの概要です。
783 Apidogには、
784 開発チームがAPIを効率的に開発してデバッグするのに役立つ機能がたくさん備えていますので、
785 今すぐApodogの使用を開始して探索し始めましょう。
786
787
788
789