Wie gebe ich einen HttpStatus-Code von API-Methoden in meinem ASP.NET Core 1.0 zurück, wenn ein Problem vorliegt?Rückgabe HttpStatusCode in API-Methode
Wenn die Methode einen bestimmten Objekttyp zurückgeben soll, wenn ich versuche, einen HTTP-Statuscode zurückzugeben, bekomme ich eine Fehlermeldung, dass ich mein Objekt nicht in Statuscode konvertieren kann.
[HttpPost]
public async Task<SomeObject> Post([FromBody] inputData)
{
// I detect an error and want to return BadRequest HttpStatus
if(inputData == null)
return new HttpStatusCode(400);
// All is well, so return the object
return myObject;
}
der Fehler richtig ist, sollten Sie erwägen, 'Aufgabe zurückzukehren' und die Rückkehr zu ändern 'Rückkehr Ok (myObject);' –
In WebAPI, eine Ausnahme mit einem bestimmten Antwortcode werfen (dargestellt von einem Enum). Es lässt die Ausnahme nicht über den Stapel sprudeln, sondern gibt einfach den von Ihnen angegebenen Statuscode zurück. 'throw new HttpResponseException (HttpStatusCode.NotFound);' – James
@James Vielen Dank für Ihre Antwort, aber es fällt mir schwer, die HttpResponseException zu finden. Sieht aus, als wäre es in der System.Web.Http-Namesapce, aber mein ASP.NET Core 1.0 lässt mich nicht einmal darauf verweisen. Es empfiehlt sich, dieses NuGet-Paket https://www.nuget.org/packages/Microsoft.AspNet.Mvc.WebApiCompatShim/ zu installieren. Ist dies immer noch der richtige Weg, um es in ASP.NET Core 1.0 zu handhaben? – Sam