リソースとURL
CoddyのNode.jsジャーニー「REST API」セクションの一部。レッスン 1/18。
他のプログラマーは自分のコードからあなたの API を呼び出すため、アドレスは推測しやすいものでなければなりません。ほとんどの Web API は REST と呼ばれるスタイルに従います。各アドレスは「リソース」と呼ばれる対象を示し、HTTP メソッドがその対象に対して何をするかを表します。
GET /api/invoices the list of invoices
GET /api/invoices/7 invoice 7
POST /api/invoices add an invoice
DELETE /api/invoices/7 remove invoice 7パスには名詞を含め、動詞は含めません。/api/getInvoices や /api/deleteInvoice?id=7 の場合、クライアントはアクションごとに新しい単語を覚えなければなりません。app.use('/api/invoices', invoices) でマウントされたルーターは、どちらのアドレスにも応答します。'/' ルートは一覧を、'/:id' ルートは個別の請求書を返します。一致するものがない ID には、JSON エラーとともに 404 を返すため、クライアントは他の応答と同じように読み取れます。
チャレンジ
簡単server.jsでルーターを/api/tasksにマウントします。GET /api/tasksはstore.jsの配列を返します。GET /api/tasks/:idは1つのタスクを返すか、{ "error": "Task not found" }とともに404を返します。
実行を押して、GET /api/tasks、GET /api/tasks/2、GET /api/tasks/99を送信します。
自分で試してみよう
import { Router } from 'express';
import { tasks } from '../store.js';
const router = Router();
// リスト全体用のルートと、1つのタスク用のルートを追加する
export default router;
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。