Ich bin ein api Endpunkt in einem MVC-6 WebAPI Aufruf:MVC 6 WebAPI Rückkehr HTML-Fehlerseite statt json Version von Ausnahmeobjekt
POST http://localhost:57287/mytestapi/testentity/ HTTP/1.1
Accept: application/json
X-APIKey: 00000000-0000-0000-0000-000000000000
Content-Type: application/json; charset=utf-8
Host: localhost:57287
Content-Length: 1837
Expect: 100-continue
Connection: Keep-Alive
Im Körper Ich habe Json serialisiert Testeinheit.
Ich habe einen Fehler in meinem Entity Controller-Code und die API gibt eine 500 Antwort "Server Error" Ich weiß, was der Fehler ist und es beheben wird, aber das Problem, das ich brauche, ist, dass die API zurückgibt HTML statt des serialisierten JSon-Ausnahmeobjekts - Json ist das, was ich erwarte: es ist das, was das alte Webapi zurückgeben würde. Ich habe den Code von einem alten Testprojekt portiert, von dem ich weiß, dass es funktioniert.
Warum gibt MVC 6 WebAPI HTML statt json zurück? Gibt es eine Konfiguration, die ich tun muss?
EDIT: Ich habe Accept: application/json zu den Headern wie von @danludwig vorgeschlagen, aber dies hat das Problem nicht gelöst, ich habe immer noch eine HTML-Fehlerseite zurück.
Ich sah meine StartUp.cs an und gefunden:
if (env.IsDevelopment())
{
//app.UseBrowserLink();
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
im ConfigureApp Verfahren. Ich habe mit app.UseDeveloperExceptionPage() getestet; auskommentiert. Dies verhinderte die Rückgabe der HTML-Fehlerseite im Antwortkörper der API, allerdings bekomme ich immer noch nicht das serialisierte json-Ausnahmeobjekt.
'Accept: application/json' – danludwig
leider nicht. Ich habe die Frage bearbeitet, um den neuen Header anzuzeigen, aber danke. – John
eine Chance, dass 'JsonOutputFormatter' von Ihrem Code entfernt wird? –