У меня есть REST интерфейс конечной точки, какКак выбрать действие ASP.NET Core из свойства JSON в теле?
POST/деталей/12345/действия
я использовать общие действия суб коллекции, которые будут применяться, чтобы применить изменения к 12345, которые не легко отображенные на контента или прямых других подкатегорий.
Мой вопрос следующий: Поскольку может быть несколько разных типов действий, я идентифицирую действие с помощью свойства JSON содержимого загруженного документа.
Как выбрать действие частью тела JSON запроса. Есть ли что-то можно, как ...
[Route("api/v1/items")
public class ItemsController : Controller
{
[HttpPost("{id}/actions")]
[CheckJsonBody("type", "ActionA")]
public ActionResult DoActionA(int id, ActionA a)
{
// do something
}
[HttpPost("{id}/actions")]
[CheckJsonBody("type", "ActionB")]
public ActionResult DoActionB(int id, ActionB b)
{
// do something
}
}
Запрос будет выглядеть ...
{
"type": "ActionA",
"abc": "xyz"
}
откапывал я себя вверх в код до Microsoft.AspNetCore.Mvc.ActionConstraints.ActionMethodSelectorAttribute
(GitHub).
Однако, начиная с этого момента, я немного потерял достижение высокопроизводительного решения. Нужно ли мне декодировать тело или что-то, что уже сделано в это время, оценивается ограничение?
ps: И да, я знаю, что смогу обработать их в одном действии и переключиться на свойство типа.
Любой код или пример о ваших выводах? – CSharper
Нет. Я никогда не реализовывал это. – Thomas