У меня есть довольно стандартный маршрут, подобный этому, {controller}/{action}/{id}
, где id необязательный.
Рассмотрим эти три действия PUT:
public void DoSimpleStuff(int id) {/*DoingStuff*/ }
public void DoMoreStuff(StronglyTypedObject sto) {/*DoingStuff*/ }
public void DoExtraStuff(int id, StronglyTypedObject sto) {/*DoingExtraStuff*/ }
DoSimpleStuff работает из коробки.
Чтобы заставить DoMoreStuff работать, мне нужно было отключить связыватель модели . Поэтому я реализовал пользовательский IRequestContentReadPolicy
, возвращающий RequestContentReadKind.AsSingleObject
.
Однако это не исправляет DoExtraStuff.
Итак, мой вопрос: что я могу сделать, чтобы исправить DoExtraStuff? Разве маршрут не должен понимать, что из содержимого исходит только последний параметр, и поэтому передавать этот тип моему сериализатору?
PS: я понимаю, что они изменят, как это работает, но мне нужно решение для этого сейчас. Творческие ответы приветствуются.