ในขณะที่เส้นนั้นค่อนข้างพร่ามัวสำหรับฉันกฎข้อหนึ่งคือ: ข้อมูลที่ตรรกะทางธุรกิจของคุณใช้งานได้ควรอยู่ในร่างกายเมตาดาต้าสามารถ / ควรใส่ในส่วนหัว
อีกวิธีหนึ่งในการดูคือ: ข้อมูลที่ปรากฏในคำขอเฉพาะประเภทควรอยู่ในเนื้อหาส่วนข้อมูลที่จัดการอย่างสม่ำเสมอตลอดทั้งแอปพลิเคชันควรเข้าสู่ส่วนหัว
อีกมุมมองหนึ่งคือคุณสามารถจินตนาการว่ามีการจัดการข้อมูลทั่วโลกเช่นเราเตอร์ / ไฟร์วอลล์แทนที่จะใช้แอปพลิเคชันของคุณหรือไม่? ถ้าใช่มันน่าจะไปที่ส่วนหัวมากกว่าในร่างกาย
ตัวอย่างของการใช้กฎเหล่านี้คือ:
- ข้อมูลรับรองความปลอดภัยจะเข้าสู่ส่วนหัวเนื่องจากส่วนใหญ่พวกเขาจะได้รับการจัดการเหมือนกันในทุกสถานที่ของแอปพลิเคชัน ในระดับการใช้งานอาจมีบางตัวกรองคำขอปฏิเสธคำขอโดยไม่ต้องมีข้อมูลประจำตัวที่ถูกต้องโดยไม่คำนึงถึงจุดสิ้นสุดที่เกิดขึ้นจริงจัดการคำขอในกรณีที่มันได้รับผ่านตัวกรอง
- หากในอีกทางหนึ่งคุณมีจุดปลายที่อนุญาตให้ผู้ดูแลระบบเพิ่มผู้ใช้ในระบบของคุณการล็อกอินของผู้ใช้ที่จะสร้างควรอยู่ในเนื้อความคำขอตั้งแต่: ก) มันถูกจัดการโดยตรรกะทางธุรกิจของแอปพลิเคชันของคุณ b) จะปรากฏในจุดปลายเฉพาะนี้ แต่ไม่ปรากฏในจุดอื่น
- ตัวเลือกที่การควบคุมแคชอาจเหมาะสมกับส่วนหัว (เว้นแต่การแคชเป็นส่วนหลักของตรรกะทางธุรกิจของแอปพลิเคชันของคุณ)
ย้อนกลับไปที่คำถามของคุณเกี่ยวกับรหัสอุปกรณ์ที่ไม่ซ้ำใคร: หากมีการใช้ในลักษณะที่สอดคล้องกันทุกที่เช่นสำหรับการบันทึกเท่านั้นก็สามารถใส่ไว้ในส่วนหัวได้ แต่ถ้ามันถูกใช้เพื่อกรองคำร้องขอในรูปแบบที่แตกต่างกันไปขึ้นอยู่กับจุดสิ้นสุดมันจะดีกว่าในร่างกาย แน่นอนว่าถ้าคุณมีทั้งสองกรณีที่ใช้มันน่าจะดีกว่าถ้าใช้วิธีเดียวในการส่งผ่าน (อาจเป็นส่วนหัว) แทนที่จะบังคับให้ผู้ใช้ API ใส่ข้อมูลเดียวกันในสองที่ทำให้คุณรู้สึกลำบากใจ อินพุตที่ไม่สอดคล้องกันหรือใช้การตรวจสอบบางประเภท