API da Web: conteúdo em HttpResponseMessage
Em um dos meus pedidos Get, eu quero retornar um HttpResponseMessage com algum conteúdo. Atualmente eu tenho isso funcionando da seguinte forma:
var header = new MediaTypeHeaderValue("text/xml");
Request.CreateResponse(HttpStatusCode.OK, myObject, header);
No entanto, desde que eu estou usando o pedido estático, isso se torna realmente difícil de testar. Pelo que li, eu deveria ser capaz de fazer o seguinte:
return new HttpResponseMessage<T>(objectInstance);
No entanto, parece não ser capaz de fazer isso. É porque estou usando uma versão antiga do WebApi / .NET?
Em uma nota lateral, descobri que você poderia criar uma resposta da seguinte maneira:
var response = new HttpResponseMessage();
response.Content = new ObjectContent(typeof(T), objectInstance, mediaTypeFormatter);
O que me intrigou é por que eu tenho que adicionar um mediaTypeFormatter aqui. Eu adicionei o formatador de tipo de mídia no nível global.asax.
Obrigado!