Ich habe eine einfache Aktion mit ASP NET Core (nicht alt web api oder mvc):Wie behandelt man die Validierung leerer Modelle im MVC-Core?
[HttpPost]
public async Task<SomeResponse> Something([FromBody] SomeRequest request)
{
// request is null here when the POST body is empty
}
Wenn ich poste einen leeren Körper request
null ist. Ich habe einen globalen Aktionsfilter, der eine allgemeine 400-Antwort zurückgibt, wenn Modellvalidierungsfehler vorliegen.
public class ValidateModelBindingAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
if (!context.ModelState.IsValid)
{
// 400 response here.
}
}
}
würde ich das Model mag ungültig sein, wenn der Körper leer ist, so dass die Filtervalidierung mit einem 400, bevor Sie reagieren wird die Aktion mit einem Null-Request-Objekt auszuführen. Ich habe versucht, ein [Required]
Attribut zu dem request
Parameter ohne Effekt hinzuzufügen. Gibt es eine andere Lösung da draußen?
können Sie die Anfrage Klassencode? – Krishna