โดยทั่วไปคุณมีจุดปลายเดียวซึ่งแสดงถึงชุดทั้งหมดของx :
/products
บอกว่าคุณต้องการที่จะปรับปรุงผลิตภัณฑ์เดียวที่คุณจะPUT/products/{id}ไป หากคุณต้องการที่จะปรับปรุงผลิตภัณฑ์เดียว (ไม่ได้อัปเดตทุกสาขา) บางส่วนนอกจากนี้คุณยังสามารถใช้PATCH/products/{id}ไป การลบเอนทิตีเดียว ( DELETEถึง/products/{id})
หากคุณต้องการกำหนดเป้าหมายแหล่งทรัพยากรเดียวคุณต้องผ่านเส้นทางซึ่งแหล่งทรัพยากรเดียวคุณต้องการแก้ไข
การดำเนินการเพียงอย่างเดียวที่ทำให้แผนการแตกคือการสร้างแหล่งข้อมูล เมื่อมีการสร้าง Ressource ที่คุณกำหนดเป้าหมายการเก็บรวบรวมเป็นทั้งบอกว่าโพสต์/productsไป
ที่กล่าวไว้ชัดเจนว่าเป้าหมายสำหรับการดำเนินงานที่มีผลต่อการรวบรวมโดยรวมควรไปที่จุดรวบรวมปลายทางที่เหมาะสม
เช่นคุณต้องการเรียกคืนชุดย่อยของผลิตภัณฑ์ที่เป็นสีแดง
ได้รับ/products?colour=redการ
ดังนั้นถ้าคุณต้องการที่จะลบทั้งหมดเหล่านี้คุณลบ /products?colour=redหรือถ้าคุณต้องการที่จะลบผลิตภัณฑ์บางอย่างผ่านidคุณสามารถลบ /products?id=1&id=2&id=3ได้
สิ่งที่เกี่ยวกับการสร้างทรัพยากรจำนวนมาก ? โพสต์คอลเลกชันของคุณเพียงเพื่อ[{...},{...},{...}] /productsเดียวกันจะไปสำหรับPUTและPATCH
นั่นตรงไปตรงมาจริงๆ
ในการตอบคำถามของคุณ:
ถ้าฉันต้องการเพิ่มลงในคอลเลกชันฉันจะส่งผลิตภัณฑ์บางอย่างที่มี PUT ได้หรือไม่
ไม่เพียง แต่คุณจะได้รับการสนับสนุนให้ทำเช่นนั้น
หากฉันต้องการลบผลิตภัณฑ์บางอย่างออกจากคอลเลกชันฉันจะส่งข้อมูลตัวกรอง (อาร์เรย์ของ ID) ด้วย DELETE ได้หรือไม่
ไม่เป็นไร ในฐานะที่เป็นอลอนโซ่ Eneko เขียนบางครั้งมีbulkoperationsห่อหุ้มผ่าน "ควบคุม" -endpoints ด้วยอาทิPOSTจะใช้ในการดำเนินงานของทริกเกอร์ (ที่ซับซ้อน)