w moim kontrolerów ASP.NET Core i zawsze sprawdzić, czy ModelState jest ważny:Waliduj ModelState.IsValid globalnie dla wszystkich kontrolerów
[HttpPost("[action]")]
public async Task<IActionResult> DoStuff([FromBody]DoStuffRequest request)
{
if (!ModelState.IsValid)
{
return BadRequest("invalid parameters");
}
else
{
return Ok("some data"));
}
}
Czy istnieje sposób na sprawdzenie poprawności ModelState globalnie przy użyciu filtra tak ja nie musisz tego robić ponownie w każdym elemencie API w każdym kontrolerze? Byłoby miło, gdyby działanie może polegać na ModelState jest ważne i nie potrzebują do sprawdzenia:
[HttpPost("[action]")]
public async Task<IActionResult> DoStuff([FromBody]DoStuffRequest request)
{
return Ok("some data"));
}
'ApiController' jest z Web API 2, to nie istnieje już w ASP.NET Core. Poza tym nie powinieneś dodawać do swoich filtrów 'ActionFilterAttribute' raczej tylko' Attribute'. Jeszcze bardziej intencją byłoby "ValidateModelStateAttribute" –
Ponadto, filtry akcji mogą być rejestrowane globalnie w 'Autostartie' –
@CamiloTerevinto, tak, masz rację. Brakowało mi głównej części.Zaktualizowałem swoją odpowiedź odpowiednią właściwością ActionFilterAttribute, która będzie działać z Core. – smoksnes