POST ile Oluşturma
Coddy'nin Node.js Journey'sinin REST API'leri bölümünün bir parçası. Ders 2 / 18.
Görev ekleyen bir istemcinin yeni görevin nerede bulunduğunu bilmesi gerekir. Yeni kaynağı POST ile listenin URL'sine gönderir ve sunucu, kaynağı ve URL'sini belirten bir Location başlığını içeren 201 Oluşturuldu yanıtını verir.
POST /api/events { "name": "Launch party" }
201 Created
Location: /api/events/12
{ "id": 12, "name": "Launch party" }Kimliği sunucu seçer, bu nedenle iki istemci asla aynı kimliği talep edemez. Location başlığı sayesinde istemci, URL'yi kendisi oluşturmadan yeni etkinliği alabilir. res.location(path) bu başlığı ayarlar ve res.status gibi zincirleme kullanılabilir:
res.status(201).location(`/api/events/${event.id}`).json(event);Görev
KolayPOST /api/tasksve{ "title" }, yeni görevle birlikte 201 yanıtı verir:store.jsiçindekinextId()değerinden gelenid,done: falsevenew Date().toISOString()değerinden gelencreatedAt.Locationdeğerini/api/tasks/<id>olarak ayarlar.titleyoksa: 400.
{ "title": "Order new chairs" } gönder, ardından Location yoluna GET isteği yap, sonra {} ile POST isteği yap.
Kendin dene
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;
REST API'leri bölümündeki tüm dersler
1Kaynaklar ve Fiiller
Kaynaklar ve URL'lerPOST ile Oluşturma