ฉันกำลังพัฒนาบริการใหม่ในสภาพแวดล้อมแบบไมโครเซอร์วิส นี่คือบริการ REST เพื่อความง่ายสมมติว่าเส้นทางคือ: / historyBooks
และวิธีการ POST สำหรับเส้นทางนี้สร้างหนังสือประวัติศาสตร์ใหม่
สมมติว่าหนังสือประวัติศาสตร์ครอบคลุมยุคหนึ่งในประวัติศาสตร์
เพื่อความกระชับลองสมมุติว่าเรามีเพียงประวัติศาสตร์ยุคต่อไปนี้:
- โบราณ
- โพสต์คลาสสิก
- ทันสมัย
enum
ในรหัสของฉันฉันต้องการที่จะเป็นตัวแทนของพวกเขาใน
ร่างกายวิธีของ (น้ำหนักบรรทุก) อยู่ในรูปแบบ JSON eras
และควรรวมถึงชื่อสนาม ฟิลด์นี้เป็นรายการera
ค่าที่หนังสือเล่มนี้ครอบคลุม
ร่างกายอาจมีลักษณะ:
{
"name": "From the cave to Einstein - a brief history review",
"author": "Foo Bar",
"eras": ["Ancient", "Post Classical", "Modern"]
}
ในบริการเฉพาะนี้ตรรกะทางธุรกิจคือ:
หากไม่มียุคที่ระบุไว้ในข้อมูลเข้าดังนั้นหนังสือเล่มนี้จะถือว่าครอบคลุมทุกยุคทุกสมัย
ในการตรวจสอบ API มีข้อเสนอแนะ:
รวมค่าอื่นALL
สำหรับยุค enum เพื่อระบุอย่างชัดเจนว่ามีการครอบคลุมยุคทั้งหมด
ฉันคิดว่ามันมีข้อดีและข้อเสีย
ข้อดี:
อินพุตที่ชัดเจน
จุดด้อย:
หากมีการจัดเตรียมสองรายการในรายการพูดALL
และAncient
- สิ่งที่จะนำมาจากแอปพลิเคชัน ฉันเดาว่าALL
ควรจะแทนที่ค่าอื่น ๆ แต่นั่นคือตรรกะทางธุรกิจใหม่
ถ้าฉันเรียกใช้คิวรีสำหรับหนังสือที่ครอบคลุมยุคเฉพาะฉันจะแสดงหนังสือที่ครอบคลุมยุคทั้งหมดได้อย่างไร หากALL
ยังใช้สำหรับการส่งออก (โดยใช้ตรรกะเดียวกัน) แล้วมันเป็นความรับผิดชอบของผู้บริโภคที่จะตีความเป็นALL
["Ancient", "Post Classical", "Modern"]
คำถามของฉัน
ฉันคิดว่าการมีสิ่งใหม่ ๆALL
ทำให้เกิดความสับสนมากกว่าที่จะไม่มีเลย
คุณคิดอย่างไร? คุณจะเพิ่มALL
มูลค่านี้หรือรักษา API ของคุณโดยไม่ได้