Jak mogę zwrócić kod HttpStatus z metod API w moim ASP.NET Core 1.0, jeśli wystąpił problem?Powrót HttpStatusCode w metodzie API
Jeśli metoda ma na celu zwrócić szczególną typ obiektu, gdy próbuję wrócić kod stanu HTTP, pojawia się błąd mówiąc, nie mogę przekonwertować obiekt do kodu statusu.
[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;
}
błąd jest w porządku, należy rozważyć powrót 'Task' i zmienić powrotu do 'powrót Ok (myObject);' –
W WebAPI, to wyjątek z określonym kodem odpowiedzi (reprezentowaną przez Enum). Nie zezwala na to, aby wyjątek powodował bańki w stosie, ale po prostu zwraca podany kod statusu. 'throw new HttpResponseException (HttpStatusCode.NotFound);' – James
@ James Dziękuję za odpowiedź, ale ciężko mi jest znaleźć wyjątek HttpResponseException. Wygląda na to, że znajduje się w nazwach System.Web.Http, ale mój ASP.NET Core 1.0 nawet nie pozwala mi tego odwołać. Sugeruje, żebym zainstalował ten pakiet NuGet https://www.nuget.org/packages/Microsoft.AspNet.Mvc.WebApiCompatShim/ Czy to nadal jest właściwy sposób na obsłużenie go w ASP.NET Core 1.0? – Sam