In einer meiner Get-Anforderung möchte ich eine HttpResponseMessage mit Inhalt zurückgeben. Derzeit habe ich es wie folgt funktioniert:Web API: Inhalt in HttpResponseMessage
var header = new MediaTypeHeaderValue("text/xml");
Request.CreateResponse(HttpStatusCode.OK, myObject, header);
Da ich jedoch die statische Anfrage verwenden, wird dies wirklich schwierig zu testen. Von dem, was ich gelesen habe, soll ich in der Lage sein, Folgendes zu tun:
return new HttpResponseMessage<T>(objectInstance);
scheint jedoch nicht in der Lage zu sein, dies zu tun. Liegt es daran, dass ich eine ältere Version von WebApi/.NET verwende?
Auf einer Seite zur Kenntnis, fand ich, dass Sie möglicherweise eine Antwort erstellen könnte wie folgt aussehen:
var response = new HttpResponseMessage();
response.Content = new ObjectContent(typeof(T), objectInstance, mediaTypeFormatter);
Was mich verwirrt ist, warum muss ich hier eine mediaTypeFormatter hinzuzufügen. Ich habe den Medientyp-Formatierer auf der globalen.asax-Ebene hinzugefügt.
Danke!
Sie müssen übergeben die Formatierungs lesen, weil sonst würde ObjectContent ein statisches Element zu verwenden, die globale Sammlung zuzugreifen, die Prüfung schwieriger machen würde. –
Anfrage ist nicht statisch, es ist ein Instanzmitglied von ApiController. –