In meinem Service-Code, ich meine Objekte sind Validierung und wenn es fehlschlägt, gibt es eine Validation (mit FluentValidation), wirft dies abwechselnd eine Ausnahme mit dem Fehlercode 500Return Validierungsfehler in vNext MVC 6 Web Api
Ohne durch alle meine Methoden zu gehen und eine try..catch hinzuzufügen, ist es möglich, etwas in der mvc-Pipeline hinzuzufügen, das sehen wird, ob eine ValidationException ausgelöst wurde, und wenn ja, eine BadRequest mit der Message der ValidationException zurückgibt?
Wenn ich alle meine Methoden zu aktualisieren, wäre es etwa so aussehen
try
{
await _service.AddAsync(entity);
// return created response
return Created(_httpContextAccessor.HttpContext.Request.GetDisplayUrl(), _mapper.Map<DatasheetModel>(entity));
}
catch (ValidationException e)
{
return BadRequest(e.Message);
}
Ist dies möglich, empfohlen, oder sollte ich, wie vor allem meine Methoden aktualisieren gerade?
@David - Diese Frage referenziert Web API 2, die vor ASP.NET Core ist. Diese Frage verweist auf MVC 6, das ASP.NET Core ist. Die beiden sind also völlig unabhängig voneinander. –
@David - ASP.NET Core ist eine vollständige Neuschreiben von ASP.NET und beseitigt System.Web.dll. Da alles vor ASP.NET Core auf System.Web.dll basiert, funktionieren sie nicht überall auf die gleiche Weise. –
Die Idee der Middleware für die Ausnahmebehandlung ist die gleiche, Zeitraum http://stackoverflow.com/a/34312016/2410379 –