Я пытаюсь использовать этот фреймворк RestfulRouting, который у нас есть ... сторонний фреймворк найден здесь: http://stevehodgkiss.github.com/restful-routing/
Я не могу понять на всю жизнь, почему я получаю список маршрутов, который просто не соответствует ожиданиям. Я прочитал эту одностраничную документацию (что мне приятно, но не хватает), и все же я получаю сгенерированные маршруты, которые, кажется, появляются из ниоткуда для определенных действий, которые я выполнял или не определял.
Например, вот что я настроил:
публичный класс Маршруты: RouteSet
{
public static void Start ()
{
var маршруты = RouteTable.Routes;
routes.MapRoutes ();
}
public override void Map(IMapper map)
{
map.Resources<CarController>(cars =>
{
cars.As("Cars");
cars.Collection(x =>
{
//x.Get("Edit");
x.Post("Update");
x.Get("Delete");
});
});
}
Мой контроллер для автомобилей выглядит следующим образом (скелет / верхний уровень, который я вам здесь даю):
using System.Web.Mvc;
namespace OurCompanyName.Web.Controllers.WebApp
{
public class CarController : Controller
{
public ActionResult Index(string carId)
{
// logic
}
public ActionResult Edit(int id)
{
// logic
}
[HttpPost]
public ActionResult Update(FormCollection formCollection, int id = 0)
{
// logic
}
public ActionResult CarTypes()
{
// logic
}
public ActionResult New()
{
// logic
}
public ActionResult Delete(int id)
{
// logic
}
}
}
Но когда я смотрю на инструмент отладки этого фреймворка (т. Е. http://localhost/routedebug) на моей машине или на нашем dev-сервере, он выплевывает некоторые странности, и вот маршруты, которые генерируются, когда я смотрю на них через инструмент отладки:
![enter image description here](https://i.stack.imgur.com/4qCyu.jpg)
Так где же все эти дубликаты (например, удаление и обновление, показывающие 2 разных пути / записи) и где это произошло или как из этой структуры были сгенерированы Cars / {id} / Edit path?
В конечном счете, я хотел бы также иметь Cars / {id} / Delete, но я не могу настроить его независимо от того, что я пытаюсь использовать с этой платформой.
Я не понимаю, откуда появляются имя и конечная точка ... что это использует? Когда я использовал MVC, он заботился только о маршрутах, которые я настроил, а не о некоторых [name] # [name]. Я понимаю, что это, вероятно, проприетарное для этой платформы, но я не могу найти никакой документации по многим из этого и почему он выделяет кучу маршрутов по умолчанию, которые я даже не буду использовать или использовать в этом соглашении.
например, мне не нужно использовать эти маршруты / соглашения, которые генерирует эта вещь:
219 POST Cars cars # create
для меня, вероятно, я бы хотел видеть Cars / Create / {id} или Cars / {id} / Create. Если вы идете с соглашением RESTful IMO, это должно быть Cars / Create / {id}, где {id} находится в конце ... но это другая тема или наблюдение за пределами моего вопроса здесь ... и сейчас я собираюсь со стандартом команды, который должен делать Controller / {id} / Action, если присутствует идентификатор.
Резюме: в конечном итоге я спрашиваю, как, черт возьми, это работает, и во-вторых, как я могу получить мой Cars / {id} / Удалить маршрут, установленный здесь с этой платформой?