Направляйте все POST-запросы на один ApiController - PullRequest
1 голос
/ 19 марта 2012

Я хочу, чтобы все запросы PUT и POST были десериализованы в соответствующую команду и отправлены в конечную точку через шину сообщений. Я бы предпочел не иметь ApiController для каждой команды или базовый контроллер, который реализует общий метод Put.

Итак, возможно ли направить все запросы для данного глагола на один ApiController или что-то более подходящее, и при этом использовать преимущества привязки модели?

1 Ответ

0 голосов
/ 20 ноября 2012

Звучит так, как будто вы ищете атрибуты контроллера [HttpGet] и [HttpPost]. Это позволяет вам создать два метода, которые отличаются этим атрибутом. Например:

[HttpGet]
public ActionResult Index(int viewId)
{
    return View(new IndexViewModel(viewId));
}

[HttpPost]
public ActionResult Index(IndexViewModel model)
{
    model.DoSomethingUsefulWithPostData();
    return View(model);
}

Первый метод примет аргумент строки запроса и создаст из него модель представления. Второй будет вызван после публикации формы и реконструкции модели, включая любые значения из самого POST в модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...