Я получаю скорость с помощью WCF Web API. Я хочу показать конечную точку, которая может принимать заметки, используя метод POST. Моя проблема: я хочу поддерживать несколько представлений для заметок. Например, я мог бы принять примечание, используя пользовательскую сериализацию XML, которую мы используем в другом месте, или как элемент atom:entry
. У меня уже есть форматиры, которые могут десериализовать их в класс Note
(наш собственный пользовательский класс) или как SyndicationItem
.Принимая несколько представлений для POST
Вопрос приходит, как, как определить метод? В настоящее время я получил это:
[WebInvoke(UriTemplate = GetNotesUriRoot,Method="POST")]
public HttpResponseMessage PostNote(ObjectContent item,HttpRequestMessage request)
Какой сбой при запуске:
Работа службы «PostNote» никогда не получит значение для входного параметра «пункт» типа «ObjectContent». Убедитесь, что запрос HttpOperationHandler имеет выходной параметр с типом, назначаемым «ObjectContent».
Первоначально я попытался иметь два отдельных метода (с соответствующими параметрами), но они не могут использовать одно и то же имя конечной точки. Текущее усилие (с использованием ObjectContent
) было основано на других сообщениях, которые я мог найти, которые предположили, что это может быть параметр. Там нет единого базового типа или интерфейса между Note
и SyndicationItem
Мы используем v0.6.0 в Web API WCF