วิธีจัดการกับความสัมพันธ์แบบหลายต่อหลายคนใน RESTful API
ลองนึกภาพคุณมีเอนทิตี้ 2 แบบคือผู้เล่นและทีมซึ่งผู้เล่นสามารถอยู่ในหลาย ๆ ทีม ในแบบจำลองข้อมูลของฉันฉันมีตารางสำหรับแต่ละเอนทิตีและตารางเข้าร่วมเพื่อรักษาความสัมพันธ์ การจำศีลทำได้ดีในการจัดการสิ่งนี้ แต่ฉันจะเปิดเผยความสัมพันธ์นี้ใน RESTful API ได้อย่างไร ฉันสามารถคิดได้หลายวิธี ก่อนอื่นฉันอาจให้เอนทิตีแต่ละรายการมีรายการอื่น ๆ ดังนั้นวัตถุ Player จะมีรายชื่อทีมเป็นของมันและวัตถุแต่ละทีมจะมีรายชื่อผู้เล่นที่เป็นของมัน ดังนั้นในการเพิ่มผู้เล่นในทีมคุณเพียงแค่โพสต์การเป็นตัวแทนของผู้เล่นไปยังจุดสิ้นสุดบางอย่างเช่น POST /playerหรือ POST ที่/teamมีวัตถุที่เหมาะสมเป็นภาระของคำขอ ดูเหมือนว่า "สงบ" ที่สุดสำหรับฉัน แต่รู้สึกแปลก ๆ เล็กน้อย /api/team/0: { name: 'Boston Celtics', logo: '/img/Celtics.png', players: [ '/api/player/20', '/api/player/5', '/api/player/34' ] } /api/player/20: { pk: 20, name: 'Ray Allen', birth: …