"มิติ" หนึ่งหัวข้อนี้ถูกทิ้งไว้ แต่มันสำคัญมาก: มีบางครั้งที่ "แนวปฏิบัติที่ดีที่สุด" ต้องเข้ามาเกี่ยวข้องกับรูปแบบที่เรากำลังนำไปใช้หรือเพิ่มพูนความสามารถของ REST
ตัวอย่างการปฏิบัติ:
ปัจจุบันเว็บแอปพลิเคชั่นหลายตัวใช้สถาปัตยกรรม MVC (Model, View, Controller) พวกเขาถือว่าเส้นทางมาตรฐานบางอย่างมีให้มากขึ้นดังนั้นเมื่อเว็บแอปพลิเคชันเหล่านั้นมาพร้อมกับตัวเลือก "เปิดใช้งาน SEO URL"
พูดถึงเว็บแอปพลิเคชั่นที่โด่งดังอย่างหนึ่ง: ร้านค้าอีคอมเมิร์ซของ OpenCart เมื่อผู้ดูแลระบบเปิดใช้งาน "SEO URLs" มันคาดว่า URL ดังกล่าวจะอยู่ในรูปแบบ MVC มาตรฐานค่อนข้างเช่น:
http://www.domain.tld/special-offers/list-all?limit=25
ที่ไหน
special-offers
คือตัวควบคุม MVC ที่จะประมวลผล URL (แสดงหน้าข้อเสนอพิเศษ)
list-all
เป็นการกระทำหรือชื่อฟังก์ชั่นของตัวควบคุมที่จะเรียก (*)
limit = 25 เป็นตัวเลือกโดยระบุว่า 25 รายการจะแสดงต่อหน้า
(*) list-all
เป็นชื่อฟังก์ชั่นสมมติที่ฉันใช้เพื่อความชัดเจน ในความเป็นจริง OpenCart และเฟรมเวิร์ก MVC ส่วนใหญ่จะมีindex
ฟังก์ชันเริ่มต้นโดยนัย (และมักจะละเว้นใน URL) ที่ได้รับการเรียกเมื่อผู้ใช้ต้องการให้มีการดำเนินการเริ่มต้น ดังนั้น URL โลกแห่งความจริงจะเป็น:
http://www.domain.tld/special-offers?limit=25
ด้วยแอปพลิเคชันมาตรฐานที่เป็นธรรมหรือโครงสร้าง frameworkd คล้ายกับด้านบนคุณมักจะได้รับเว็บเซิร์ฟเวอร์ที่ปรับให้เหมาะสมซึ่งจะเขียน URL ใหม่สำหรับมัน (URL "ไม่ใช่ SEOed" ที่แท้จริงจะเป็น: http://www.domain.tld/index.php?route=special-offers/list-all&limit=25
)
ดังนั้นคุณในฐานะนักพัฒนาต้องเผชิญกับการจัดการกับโครงสร้างพื้นฐานที่มีอยู่และปรับ "แนวทางปฏิบัติที่ดีที่สุด" ของคุณเว้นแต่ว่าคุณเป็นผู้ดูแลระบบรู้วิธีปรับแต่งการตั้งค่าการเขียน Apache / NGinx อย่างแน่นอน บน.
ดังนั้น REST API ของคุณมักจะดีกว่ามากตามมาตรฐานของแอปพลิเคชันเว็บอ้างอิงทั้งเพื่อความสอดคล้องกับมันและความง่าย / ความเร็ว (และประหยัดงบประมาณ)
หากต้องการกลับไปที่ตัวอย่างที่เป็นประโยชน์ด้านบน REST API ที่สอดคล้องกันจะเป็นสิ่งที่มี URL เช่น:
http://www.domain.tld/api/special-offers-list?from=15&limit=25
หรือ (ไม่ใช่ URL SEO)
http://www.domain.tld/index.php?route=api/special-offers-list?from=15&limit=25
ด้วยการผสมผสานของ "เส้นทางที่เกิดขึ้น" ข้อโต้แย้งและ "การก่อตัวของ" ข้อโต้แย้ง