RESTFul: การดำเนินการเปลี่ยนสถานะ
ฉันกำลังวางแผนที่จะสร้าง RESTfull API แต่มีคำถามสถาปัตยกรรมที่สร้างปัญหาในหัวของฉัน การเพิ่มตรรกะธุรกิจแบ็กเอนด์ให้กับลูกค้าเป็นตัวเลือกที่ฉันต้องการหลีกเลี่ยงเนื่องจากการอัปเดตแพลตฟอร์มไคลเอนต์หลายแห่งนั้นยากที่จะรักษาในเวลาจริงเมื่อตรรกะธุรกิจสามารถเปลี่ยนแปลงได้อย่างรวดเร็ว ช่วยบอกว่าเรามีบทความเป็นทรัพยากร (api / บทความ) เราควรใช้การดำเนินการเช่นเผยแพร่, ไม่เผยแพร่, เปิดใช้งานหรือปิดการใช้งานและอื่น ๆ แต่พยายามที่จะทำให้มันง่ายที่สุด? 1) เราควรใช้ api / article / {id} / {action} เนื่องจากตรรกะส่วนแบ็คเอนด์จำนวนมากสามารถเกิดขึ้นที่นั่นได้เช่นการผลักไปยังสถานที่ห่างไกลหรือเปลี่ยนคุณสมบัติหลายอย่าง อาจเป็นสิ่งที่ยากที่สุดที่นี่คือเราจำเป็นต้องส่งข้อมูลบทความทั้งหมดกลับไปที่ API เพื่ออัปเดตและไม่สามารถใช้งานได้หลายผู้ใช้ ตัวอย่างเช่นผู้แก้ไขสามารถส่งข้อมูลที่เก่ากว่า 5 วินาทีและเขียนทับการแก้ไขที่นักข่าวคนอื่นเพิ่งทำเมื่อ 2 วินาทีที่ผ่านมาและไม่มีทางที่ฉันจะอธิบายให้ลูกค้าฟังได้เนื่องจากผู้เผยแพร่บทความไม่ได้เชื่อมต่อกับการปรับปรุงเนื้อหา 2) การสร้างทรัพยากรใหม่อาจเป็นตัวเลือก api / article- {action} / id แต่จากนั้นทรัพยากรที่ส่งคืนจะไม่เป็น article- {action} แต่บทความที่ฉันไม่แน่ใจว่าเหมาะสมหรือไม่ นอกจากนี้ในบทความคลาสโค้ดฝั่งเซิร์ฟเวอร์ก็จัดการ actuall บนทรัพยากรทั้งสองและฉันไม่แน่ใจว่าสิ่งนี้ขัดกับแนวคิด RESTfull หรือไม่ ข้อเสนอแนะใด …