benyblack @ ۱۳ مرداد ۱۳۸۹-۱۳:0۵

REST & MVC

 به این مثال ها دقت کنید :
 
http://api.twitter.com/statuses/home_timeline.xml
http://api.twitter.com/statuses/home_timeline.json
http://api.twitter.com/statuses/home_timeline.atom
 برای ایجاد همچین ساختاری به طور ساده میشه از یه route به این شکل استفاده کرد
 

 و اما  Controller

 

 context.MapRoute(

                "Api",
                "{controller}/{action}.{type}",
                new { action = "Index" }
            );



[HttpGet]
        public ActionResult Gold(string type = "") {
            Tala t = GetTalaService();
            if (t != null) {
                if (type == "json")
                    return new JsonResult() { Data = t, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
 
                if (type == "xml") {
                    return new XmlResult(t);
                }
                return View(t);
 
            }
            return View();
        }


 

 این مدل کنتلر نوشتن باعث میشه با یه متد هم درخواست های API جواب داده بشه و هم در صورت لزوم به View سرویس داده شود.
بعد از مدت ها مطلب فنی نوشتیم، بسی از خودمان متشکریم ;)
ویرایش: در Routing برای type مقدار پیشفرض رو حذف کنید.

..123|  

 

:نام

:پست الکترونيک

:وب سايت

:پيام