Я работаю с ASP.NET MVC 3. Я немного новичок в этом.Я думаю, что начинаю понимать это.Но есть кое-что, что я пытаюсь сделать, что, я думаю, имеет смысл, но, возможно, я ошибаюсь.
Я пытаюсь создать API вокруг объектов Order в моей базе данных.Чтобы получить все заказы в системе, я собирался представить API, который выглядит следующим образом:
/ orders /
В тех случаях, когда я хотел получить конкретный заказЯ бы просто добавить идентификатор.Другими словами, URL-адрес будет выглядеть следующим образом:
/ orders / 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);
}
}
Inмой класс 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" }
);
}
Когда я пытался получить доступ к "/ orders /" через адресную строку браузера, я получаю JSON, как и ожидалось.Однако, если я пытаюсь получить доступ к "/ orders / 12345", я получаю 404. Чего мне не хватает?
Спасибо