ما هو أبسط وسيلة للعودة أنواع مختلفة من المحتوى على أساس التمديد في رابط ؟

StackOverflow https://stackoverflow.com/questions/1639261

  •  08-07-2019
  •  | 
  •  

سؤال

أود أن تكون قادرة على تغيير امتداد url تلقي نموذج في شكل مختلف.

على سبيل المثالإذا

/products/list

بإرجاع صفحة html تحتوي على قائمة من المنتجات ، ثم

/products/list.json

سيعود لهم في قائمة json.

ملاحظة: أنا أحب البساطة ASP.NET MVC بقية SDK, ، فإنه يتطلب فقط عن 5 أسطر من التعليمات البرمجية إلى هوك ، ولكن الشكل المحدد كما استعلام معلمة سلسلة أي /products/list?format=json وهو ليس ما أريد أنا يمكن أن يعدل هذا القانون إذا كان هناك أي خيارات أخرى, ولكن أنا لا أريد أن إعادة اختراع العجلة!

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

المحلول

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

http://haacked.com/archive/2009/01/06/handling-formats-based-on-url-extension.aspx

نصائح أخرى

يجب أن تكون قادرا على استخدام طرق بالتزامن مع بقية sdk

إذا كان لديك المرونة إسقاط أباتشي أو شيئا من هذا القبيل أمام الخدمة الخاصة بك ، يمكنك دائما استخدام mod_rewrite إلى كتابة خارجي http://products/list.json في http://products/list?format=json والتي الإطار الخاص بك يمكن أن تجعل أكثر سهولة.

بدلا من "قائمة.json", هل يمكن أن تختار "قائمة/سلمان" واستخدام الطريق مثل

{المراقب}/{العمل}/{id}

ثم ProductController.القائمة ستكون مع هوية المعلمة من "سلمان".على .قائمة() العمل ثم تقرر ما إذا كان أو عدم العودة إلى HTML أو JSON المحتوى.

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