Heim > Backend-Entwicklung > C++ > Wie handhabe ich die Modellstatusvalidierung in der ASP.NET-Web-API?

Wie handhabe ich die Modellstatusvalidierung in der ASP.NET-Web-API?

Barbara Streisand
Freigeben: 2024-12-24 19:52:11
Original
701 Leute haben es durchsucht

How to Handle Model State Validation in ASP.NET Web API?

Handhabung der Modellstatusvalidierung in der ASP.NET-Web-API

Die Validierung von Modellen in der ASP.NET-Web-API ist eine häufige Aufgabe. Die Modellvalidierung kann mithilfe der Datenanmerkungseigenschaften und der ModelState-Eigenschaft erreicht werden.

Das im Beispiel angegebene Modell definiert mehrere Eigenschaften, jede mit einem Annotationsattribut „Erforderliche Daten“, das angibt, dass das Feld erforderlich ist.

Im Beispiel wird in der Post-Aktionsmethode keine explizite Validierung für das Modell durchgeführt. Um die Modellvalidierung zu implementieren, können Sie den folgenden Code am Anfang der Methode hinzufügen:

if (!ModelState.IsValid)
{
    // Handle validation errors
}
Nach dem Login kopieren

Falls der ModelState ungültig ist, zeigt dies an, dass die Modellvalidierung fehlgeschlagen ist. An dieser Stelle können Sie die folgenden Schritte ausführen, um die Fehlermeldung zu behandeln:

  1. Erstellen Sie ein leeres HttpResponseMessage-Objekt.
  2. Setzen Sie den Statuscode von HttpResponseMessage auf HttpStatusCode.BadRequest, was auf einen Clientfehler hinweist.
  3. Fügen Sie die Fehlermeldung von ModelState zum Inhalt von HttpResponseMessage hinzu.
  4. Setzt die HttpResponseMessage auf die Antwort des HttpActionContext.

Sie können den Aktionsfilter auch zur Modellüberprüfung verwenden. Ein Aktionsfilter ist ein benutzerdefiniertes Attribut, das vor oder nach der Ausführung einer API-Operation ausgeführt werden kann. Das folgende Beispiel zeigt, wie ein Aktionsfilter zur Modellvalidierung verwendet wird:

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

Durch die Anwendung dieses Aktionsfilters auf eine API-Operation wird das Modell automatisch validiert und eine entsprechende Fehlerantwort zurückgegeben, wenn der Modellstatus ungültig ist.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage