Heim >Backend-Entwicklung >C++ >Wie implementiert man die Modellvalidierung effektiv in der ASP.NET-Web-API?

Wie implementiert man die Modellvalidierung effektiv in der ASP.NET-Web-API?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-03 06:54:39745Durchsuche

How to Effectively Implement Model Validation in ASP.NET Web API?

Modellvalidierung in der ASP.NET-Web-API

Die Modellvalidierung ist ein entscheidender Aspekt bei der Entwicklung einer robusten Web-API. Die ASP.NET-Web-API bietet ein umfassendes System zur Validierung eingehender Modelldaten.

Implementieren der Modellvalidierung

Um die Modellvalidierung zu implementieren, befolgen Sie diese Schritte:

  1. Modellvalidierung aktivieren: Aktivieren Sie die automatische Validierung in Ihrer Web-API Konfiguration:

    config.Filters.Add(new ValidateModelFilter());
  2. Kommentieren Sie Ihr Modell: Verwenden Sie Datenanmerkungen, um Validierungsregeln für Ihre Modelleigenschaften anzugeben. Beispiel:

    public class Enquiry
    {
        [Key]
        public int EnquiryId { get; set; }
        [Required]
        public DateTime EnquiryDate { get; set; }
        [Required]
        public string CustomerAccountNumber { get; set; }
        [Required]
        public string ContactName { get; set; }
    }
  3. Verwenden Sie einen benutzerdefinierten Aktionsfilter: Erstellen Sie einen benutzerdefinierten Aktionsfilter, um Modellvalidierungsfehler zu behandeln. Registrieren Sie diesen Filter global oder auf Controller-Ebene:

    public class ValidationActionFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            var modelState = actionContext.ModelState;
    
            if (!modelState.IsValid)
                actionContext.Response = actionContext.Request
                     .CreateErrorResponse(HttpStatusCode.BadRequest, modelState);
        }
    }

Umgang mit Validierungsfehlern

Wenn eine Modellvalidierung fehlschlägt:

  • Die ModelState-Eigenschaft des HttpActionContext enthält eine Validierungsliste Fehler.
  • Der benutzerdefinierte Aktionsfilter kann auf diese Eigenschaft zugreifen und eine entsprechende Fehlerreaktion erstellen.

Zusätzliche Überlegungen

  • Sie Sie können über die Errors-Eigenschaft des ModelState auf die Validierungsfehler zugreifen.
  • Passen Sie die an den zurückgegebene Fehlermeldung an Client.
  • Stellen Sie sicher, dass die Modellvalidierung in Ihrer gesamten API konsistent ist.

Das obige ist der detaillierte Inhalt vonWie implementiert man die Modellvalidierung effektiv in der ASP.NET-Web-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn