Возврат анонимных типов с помощью веб-API

При использовании MVC возвращать adhoc Json было легко.

return Json(new { Message = "Hello"});

Я ищу эту функциональность с новым веб-API.

public HttpResponseMessage Test()
{    
   return new HttpResponseMessage(new { Message = "Hello" }, HttpStatusCode.OK);
}

Это вызывает исключение, так как DataContractJsonSerializerне может обрабатывать анонимные типы.

Я заменил это на JsonNetFormatter на основе Json.Net . Это работает, если я использую

 public object Test()
 {
    return new { Message = "Hello" };
 }

, но я не вижу смысла использовать Web API, если я не возвращаю HttpResponseMessage, мне лучше придерживаться ванильного MVC. Если я попытаюсь использовать :

public HttpResponseMessage Test()
{
   return new HttpResponseMessage(new { Message = "Hello" }, HttpStatusCode.OK);
}

, он сериализует весь HttpResponseMessage.

Может ли кто-нибудь указать мне решение, в котором я могу возвращать анонимные типы в HttpResponseMessage?

71
задан Luiso 1 September 2016 в 00:09
поделиться