我正在使用ASP.NET MVC 3.我对它很陌生。我想我已经开始掌握它了。但有一些我正在努力做的,我认为是有道理的,但也许我错了。使用ASP.NET MVC3推荐的API设计
我正在尝试在我的数据库中的Order对象周围创建一个API。为了获得系统中所有的命令,我要揭露,看起来像下面的API:
/命令/
在我想获得一个特定的顺序的情况下,我只想附加一个ID。换句话说,该URL应该是这样的:
/命令/ 12345
在努力做到这一点,我创建了以下控制器:
public class OrdersController : Controller
{
// GET: /Orders/
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Index()
{
string result = "list of orders";
return Json(result, JsonRequestBehavior.AllowGet);
}
//
// GET: /Orders/{orderID}
public ActionResult Index(int id)
{
string result = "order:" + id;
return Json(result, JsonRequestBehavior.AllowGet);
}
}
在我AreaRegistration类,我有以下内容:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"OrderList",
"{controller}/{action}",
new { action = "Index", controller="Orders" }
);
context.MapRoute(
"Order",
"{controller}/{action}/{id}",
new { action = "Index", controller = "Orders" }
);
}
当我试图访问“/命令/”,通过浏览器地址栏,我得到的JSON像我期望的那样。但是,如果我试图访问“/ orders/12345”,我会收到404。我错过了什么?
谢谢
你的路由表是什么样的? –
我没有做任何事情。由于该控制器位于Area内,因此我不确定在哪里设置路由。 –