Может ли служба RESTful установить свой запрос и тип ответа из свойства «Принять» клиента - PullRequest
1 голос
/ 03 ноября 2011

Может ли запрос и ответ службы RESTFul обрабатываться динамически на основе свойства "Accept" клиента

, т. Е. Если клиент может "Accept" application / xml, тогда моя служба должна автоматически понимать, что запрос иответ должен иметь тип xml и обрабатывать запрос соответственно.

Следовательно, я бы не стал создавать другую службу для клиента, который хочет запрос / ответ в json, и эта же служба должна иметь возможность обрабатывать его.

Ответы [ 3 ]

1 голос
/ 03 ноября 2011

Да, на самом деле WCF может быть настроен для вас: Веб-форматирование WCF HTTP

Когда включено, автоматическое форматирование выбирает лучший формат, в котором вернуть ответ. Определяет лучший формат, проверяя следующие по порядку:

  1. Типы мультимедиа в заголовке Accept сообщения запроса.
  2. Тип содержимого сообщения запроса.
  3. Настройка формата по умолчанию в операции.
  4. Настройка формата по умолчанию в WebHttpBehavior.

Также см. Документацию по <webHttpEndpoint>, в частности атрибуту automaticFormatSelectionEnabled.

0 голосов
/ 03 ноября 2011

Это действительно просто с согласованием контента WCF Web Api .Просто установите заголовок Accept и все готово.

0 голосов
/ 03 ноября 2011

Да!Вероятно, это предпочтительный способ согласования типа контента.

При этом переопределение типа контента, которое вы можете указать в URL, может быть удобным для отладки GET из браузера.(т.е. myResource.json будет эквивалентен myResource с Accept json)

...