سؤال

في العمل هنا ، لدينا صندوق يقدم خلاصات XML لشركاء الأعمال. يتم تخصيص طلبات الخلاصات الخاصة بنا عن طريق تحديد معلمات وقيم سلسلة الاستعلام. بعض هذه المعلمات مطلوبة ، ولكن الكثير منها ليس كذلك.

على سبيل المثال ، نطلب من جميع الطلبات تحديد GUID لتحديد الشريك ، ويمكن أن يكون الطلب إما لإجراء "الحصول على أحدث" أو "بحث":

للبحث: http: //services.null.ext/؟ id = [guid] & q = [Search الكلمات الدالة
أحدث البيانات في الفئة: http: //services.null.ext/؟ id = [guid] & category = [id

من السهل هيكلة مخطط عنوان URL المريح لهذه المعلمات:

يبحث: http: //services.null.ext/ [Guid]/Search/[الكلمات الرئيسية
آخر: http: //services.null.ext/ [GUID]/أحدث/الفئة/[معرف

ولكن كيف يجب أن نتعامل مع العشرات أو نحو ذلك معلمات اختيارية لدينا؟ العديد من هذه الحصار على وجه الحصر ، والكثير مطلوب في مجموعات. بسرعة كبيرة ، يصبح عدد المسارات الممكنة معقدة بشكل كبير.

ما هي بعض الممارسات الموصى بها لكيفية تعيين عناوين URL مع سلاسل الاستعلام المعقدة إلى ودية/راحة/فول/مسارات؟

(أنا مهتم بالاتفاقيات والمخططات والأنماط ، وما إلى ذلك

هل كانت مفيدة؟

المحلول

يجب عليك ترك معلمات استعلام اختيارية في سلسلة الاستعلام. لا توجد "قاعدة" في بقية تقول أنه لا يمكن أن يكون هناك سلسلة استعلام. في الواقع ، إنه عكس ذلك تمامًا. يجب استخدام سلسلة الاستعلام لتغيير عرض التمثيل الذي تقوم بنقله إلى العميل.

التزم بـ "كيانات ذات حالة ممثلة" لمكونات مسار عنوان URL. تبدو الفئة على ما يرام ، ولكن ما هو بالضبط أن تتغذى على XML؟ المشاركات؟ عناصر الكتالوج؟ القطع؟

أعتقد أن تصنيف الراحة الأفضل بكثير سيبدو هكذا (على افتراض أن محتوى خلاصة XML الخاصة بك هو "مقال"):

إذا كنت لا تفكر في الكيانات التي تمثلها أثناء بناء هيكل الراحة الخاص بك ، فأنت لا تفعل الراحة. أنت تفعل شيئًا آخر.

ألق نظرة على هذه المقالة عن أفضل الممارسات الراحة. إنه قديم ، لكنه قد يساعد.

نصائح أخرى

المعلمات مع القيم؟ خيار واحد هو سلسلة الاستعلام. استخدامه ليس بطبيعته غير مفعمة بالحيوية. خيار آخر هو استخدام شبه الكولون ، يتحدث تيم بيرنرز لي عنهم وقد يتناسبون مع الفاتورة ، مما يسمح لعنوان URL بالمعنى ، دون أن يكون لديهم مسارات طويلة بشكل كبير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top