Membuat dengan POST
Termasuk bagian REST API dalam perjalanan Node.js di Coddy. Pelajaran 2 dari 18.
client yang menambahkan tugas perlu mengetahui lokasi tugas baru tersebut. client mengirim resource baru ke URL list dengan POST, lalu server menjawab 201 Created dengan resource tersebut dan header Location yang mencantumkan URL-nya.
POST /api/events { "name": "Launch party" }
201 Created
Location: /api/events/12
{ "id": 12, "name": "Launch party" }Server memilih id, jadi dua client tidak akan pernah bisa mengklaim id yang sama. Dengan header Location, client dapat mengambil event baru tanpa menyusun URL sendiri. res.location(path) menetapkan header tersebut, dan dapat dirangkai seperti res.status:
res.status(201).location(`/api/events/${event.id}`).json(event);Tantangan
MudahPOST /api/tasksdengan{ "title" }memberikan respons 201 dengan task baru:iddarinextId()distore.js,done: false,createdAtdarinew Date().toISOString().- Ini menetapkan
Locationke/api/tasks/<id>. - Tanpa
title: 400.
Kirim { "title": "Order new chairs" }, lalu lakukan GET pada path Location, kemudian POST {}.
Coba sendiri
import { Router } from 'express';
import { tasks } from '../store.js';
const router = Router();
router.get('/', (req, res) => {
res.json(tasks);
});
router.get('/:id', (req, res) => {
const task = tasks.find((t) => t.id === Number(req.params.id));
if (!task) {
return res.status(404).json({ error: 'Task not found' });
}
res.json(task);
});
export default router;
Semua pelajaran di REST API
1Sumber Daya dan Kata Kerja
Sumber Daya dan URLMembuat dengan POSTLatihan sendiri: Playground Express