1220 Stimmen

Wie bringe ich ASP.NET Web API dazu, JSON anstelle von XML mit Chrome zurückzugeben?

Die Verwendung der neueren ASP.NET Web API , in Chrom Ich sehe XML - wie kann ich es in eine Anfrage ändern? JSON damit ich sie im Browser anzeigen kann? Ich glaube, es ist nur ein Teil der Anfrage-Header, bin ich damit richtig?

2voto

Charles Burns Punkte 9948

Verwendung von Felipe Leusin Nach einer kürzlichen Aktualisierung der Kernbibliotheken und von Json.Net stieß ich auf ein System.MissingMethodException :UnterstützteMediaTypes. Die Lösung in meinem Fall, hoffentlich hilfreich für andere, die die gleiche unerwartete Ausnahme erleben, ist die Installation von System.Net.Http . NuGet entfernt es offenbar unter bestimmten Umständen. Nach einer manuellen Installation war das Problem behoben.

2voto

rocky_pps Punkte 143

WebApiConfig ist der Ort, an dem Sie konfigurieren können, ob Sie die Ausgabe in json oder xml wünschen. Standardmäßig ist es xml. In der Registerfunktion können wir HttpConfiguration Formatters verwenden, um die Ausgabe zu formatieren.

System.Net.Http.Headers => MediaTypeHeaderValue("text/html") ist erforderlich, um die Ausgabe im json-Format zu erhalten.

enter image description here

2voto

lko Punkte 7921

De MSDN Erstellen einer einseitigen Anwendung mit ASP.NET und AngularJS (ca. 41 Min.).

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // ... possible routing etc.

        // Setup to return json and camelcase it!
        var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
        formatter.SerializerSettings.ContractResolver =
            new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
    }

Es sollte aktuell sein, ich habe es ausprobiert und es hat funktioniert.

-3voto

user3285954 Punkte 4235

Ich bin erstaunt, dass so viele Antworten die Änderung eines einzigen Anwendungsfalls (GET) in un API zu verwenden, anstatt ein geeignetes Tool zu benutzen, das einmal installiert werden muss und für mehrere Jahre verwendet werden kann. jede API (eigene oder Drittanbieter) und alle Anwendungsfälle.

Die gute Antwort lautet also:

  1. Wenn Sie nur json oder einen anderen Inhaltstyp anfordern möchten, installieren Sie Auf Anfrage oder ein ähnliches Tool und ändern Sie den Accept-Header.
  2. Wenn Sie auch POST verwenden und schön formatierte json, xml usw. haben wollen, verwenden Sie eine geeignete API-Testerweiterung wie Postbote o ARC .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X