Come restituire un codice HttpStatus dai metodi API nel mio ASP.NET Core 1.0 se c'è un problema?Restituisci HttpStatusCode nel metodo API
Se il metodo deve restituire un tipo di oggetto particolare, quando si tenta di restituire un codice di stato Http, viene visualizzato un errore che indica che non è possibile convertire il mio oggetto in codice di stato.
[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;
}
l'errore è giusto, si dovrebbe prendere in considerazione di tornare 'Task' e cambiare il ritorno al 'tornare Ok (myObject);' –
In WebAPI, è un'eccezione con un codice di risposta specifica (rappresentata da un Enum). Non lascia filtrare l'eccezione allo stack, ma restituisce semplicemente il codice di stato specificato. 'lancio nuova HttpResponseException (HttpStatusCode.NotFound);' – James
@James Grazie per la tua risposta, ma sto facendo fatica a trovare HttpResponseException. Sembra che sia nella namesapce System.Web.Http ma il mio ASP.NET Core 1.0 non mi permette nemmeno di farci riferimento. Suggerisco di installare questo pacchetto NuGet https://www.nuget.org/packages/Microsoft.AspNet.Mvc.WebApiCompatShim/ Questo è ancora il modo corretto di gestirlo in ASP.NET Core 1.0? – Sam