In una delle mie richieste Get, voglio restituire un HttpResponseMessage con un po 'di contenuto. Attualmente lo faccio funzionare come segue:: contenuto in HttpResponseMessage
var header = new MediaTypeHeaderValue("text/xml");
Request.CreateResponse(HttpStatusCode.OK, myObject, header);
Tuttavia, poiché sto usando la richiesta statica, questo diventa davvero difficile da testare. Da quello che ho letto, dovrei essere in grado di effettuare le seguenti operazioni:
return new HttpResponseMessage<T>(objectInstance);
Tuttavia, sembrano non essere in grado di fare questo. È perché sto usando una versione precedente di WebApi/.NET?
Su un lato nota, ho scoperto che si potrebbe creare una risposta come segue:
var response = new HttpResponseMessage();
response.Content = new ObjectContent(typeof(T), objectInstance, mediaTypeFormatter);
Quello che mi ha sconcertato è per questo devo aggiungere una mediaTypeFormatter qui. Ho aggiunto il formattatore di tipo multimediale al livello globale.asax.
Grazie!
Devi passare il formattatore perché altrimenti ObjectContent avrebbe bisogno di usare un membro statico per accedere alla raccolta globale, il che renderebbe il test più difficile. –
La richiesta non è statica, è un membro di istanza di ApiController. –