ฉันสงสัยว่าจะใช้เมทริกซ์หรือพารามิเตอร์การสืบค้นใน URL ของฉันหรือไม่ ฉันพบการสนทนาที่เก่ากว่าในหัวข้อนั้นไม่พอใจ
ตัวอย่าง
- URL ที่มีพารามิเตอร์การสืบค้น: http: //some.where/thing? paramA = 1 & paramB = 6542
- URL ที่มีพาราเมตริกซ์: http: //some.where/thing; paramA = 1; paramB = 6542
ตั้งแต่แรกพบเมทริกซ์ params ดูเหมือนจะมีข้อได้เปรียบเท่านั้น:
- อ่านได้มากขึ้น
- ไม่จำเป็นต้องเข้ารหัสและถอดรหัส "&" ในเอกสาร XML
- URL ด้วย "?" ไม่ถูกแคชในหลายกรณี URL ที่มีพารามิเตอร์พาราเมทริกถูกแคช
- พารามิเตอร์เมทริกซ์สามารถปรากฏได้ทุกที่ในเส้นทางและไม่ จำกัด เฉพาะจุดสิ้นสุด
- พารามิเตอร์เมทริกซ์สามารถมีได้มากกว่าหนึ่งค่า:
paramA=val1,val2
แต่ก็มีข้อเสีย:
- กรอบงานเพียงไม่กี่อย่างเช่นJAX-RSรองรับพารามิเตอร์เมทริกซ์
- เมื่อเบราว์เซอร์ส่งแบบฟอร์มผ่าน GET พารามิเตอร์จะกลายเป็นพารามิเตอร์แบบสอบถาม ดังนั้นมันจึงสิ้นสุดลงในพารามิเตอร์สองชนิดสำหรับงานเดียวกัน เพื่อไม่ให้ผู้ใช้สับสนกับบริการ REST และ จำกัด ความพยายามสำหรับนักพัฒนาบริการมันจะง่ายกว่าที่จะใช้ params แบบสอบถามแบบทั่วไป - ในพื้นที่นี้
เนื่องจากผู้พัฒนาบริการสามารถเลือกเฟรมเวิร์กที่สนับสนุนเมทริกซ์พารารัมข้อเสียที่เหลืออยู่เพียงอย่างเดียวคือเบราว์เซอร์ที่สร้างโดยพารามิเตอร์การสืบค้นเริ่มต้น
มีข้อเสียอื่น ๆ อีกไหม? คุณจะทำอย่างไร