あなたは何もない野原に立っている建築家であると想像してください。設計図がなければレンガを積み始めることはできませんよね?同じ原則が API 開発にも当てはまります。私はデザインファーストのアプローチを学ぶまで、コードファーストのアプローチを使用し、最初にコードを書き、後でドキュメントを作成していました。設計優先のアプローチでは、コードを記述する前に詳細な API 定義を作成します。
本題に入る前に、目標を計画しましょう。これを API 計画ロードマップとして考えてください:
学習内容:
API の計画は技術仕様だけではなく、他の人が使いたくなる製品を構築することも重要です。それは、すべての部屋に目的があり、他の部屋と論理的に接続されている家を設計するようなものです。
答えるべき重要な質問:
API 計画と傑作の描画を比較します:
コードファーストのアプローチとは、API の構造ドキュメントや設計を作成する前に、コーディングと機能の作成に直接取り組むことです。 API の構築を始めたとき、私はコードファーストの支持者でした。私が学んだことは次のとおりです:
<code>// 第一天:“这看起来很简单!” app.get('/users', getUsers); // 第二周:“哦,等等,我需要过滤……” app.get('/users', authenticateUser, validateQuery, getUsers); // 第三周:“也许我应该更好地规划一下……”</code>
クイックヒント ✨: コードファーストはプロトタイプには機能しますが、作成する際に決定事項を文書化してください。
仕組み
メリット
チャレンジ
デザインファーストのアプローチでは、コードを記述する前に API の構造を計画して定義することに重点を置きます。全員が同じ認識を保つことができます。 API 定義が合意されると、テスターやテクニカル ライターなどの関係者は開発者と並行して作業できるようになります。
仕組み
メリット
チャレンジ
コードファースト
まずデザインします
次の場合にコードファーストを選択します:
次の条件が満たされる場合は、デザイン優先度を選択してください:
ステップ 1: API の目的を定義する
エンドポイントとメソッドについて詳しく説明する前に、次の基本的な質問に答えてください:
目的のステートメントの例:
<code>// 第一天:“这看起来很简单!” app.get('/users', getUsers); // 第二周:“哦,等等,我需要过滤……” app.get('/users', authenticateUser, validateQuery, getUsers); // 第三周:“也许我应该更好地规划一下……”</code>
ステップ 2: コア リソースを特定する
リソースは API の名詞と考えてください。 e コマースの例:
主なリソース:
リソース関係:
<code>// 第一天:“这看起来很简单!” app.get('/users', getUsers); // 第二周:“哦,等等,我需要过滤……” app.get('/users', authenticateUser, validateQuery, getUsers); // 第三周:“也许我应该更好地规划一下……”</code>
ステップ 3: 操作を定義する
次に、ユーザーがこれらのリソースに対してどのようなアクション (動詞) を実行する必要があるかを検討します。
<code>此API使电子商务平台能够实时管理多个仓库的库存,确保准确的库存水平并防止超卖。</code>
ステップ 4: データ モデルを計画する
明確で一貫したデータ構造を定義します:
<code>产品 └── 库存 └── 仓库 └── 库存变动</code>
ステップ 5: 認証とセキュリティを計画する
最初からセキュリティについて考えてみましょう:
ステップ 6: API ドキュメントを作成する
包括的なドキュメントを作成します:
API 概要
エンドポイントのドキュメント
使用例
API 開発ではコードファーストとデザインファーストの両方のアプローチが重要です。重要なのは、プロジェクトのニーズ、チームの規模、長期目標に合ったアプローチを選択することです。最終的には、コードファーストのアプローチを選択するか、デザインファーストのアプローチを選択するかに関係なく、目標は開発者が使いやすい API を作成することです。旅は目的地ほど重要ではない場合もありますが、適切な地図があれば旅が楽になります。
今後のブログ シリーズでは、リアルタイム チャット システムである CollabSphere を構築することで、これらの原則を実践していきます。私がコードファーストのプロジェクトをデザインファーストの傑作にどのように変換するかを直接見ることができます。
今後のコンテンツのプレビュー:
以上がAPI 計画ガイド: コードファースト VS デザインファーストのアプローチの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。