Heim Java javaLernprogramm Verwendung der Bean-Validierung zur Parameterüberprüfung in der Java-API-Entwicklung

Verwendung der Bean-Validierung zur Parameterüberprüfung in der Java-API-Entwicklung

Jun 18, 2023 pm 11:58 PM
java api bean validation 参数校验

Bei der Entwicklung der Java-API ist die Parameterüberprüfung ein sehr wichtiger Link. Mithilfe des Bean-Validierungs-Frameworks können Sie Parameter einfach überprüfen, um die Legitimität von API-Parameterübertragungen sicherzustellen. In diesem Artikel wird die Verwendung der Bean-Validierung vorgestellt.

1. Was ist Bean-Validierung?

Bean-Validierung ist Teil der Java EE 6-Spezifikation. Es handelt sich um ein annotationsbasiertes Parametervalidierungs-Framework, mit dem Validierungsregeln zu Annotationen wie Methoden, Konstruktoren, Feldern und Eigenschaften hinzugefügt werden können. Diese Anmerkungen können Entwicklern helfen, Eingabefehler während der Code-Schreibphase besser zu verhindern und Benutzereingabefehler zur Laufzeit zu erkennen und zu melden.

Das Bean-Validierungs-Framework löst hauptsächlich die folgenden Probleme:

  1. Überprüfen Sie die Geschäftslogik und Einschränkungen (z. B. ob es leer ist, ob es sich um ein Postfach handelt, ob es sich um eine Nummer handelt usw.).
  2. Überprüfen Sie Format und Syntax (z. B. Datum, Telefonnummer, Postleitzahl usw.).
  3. Überprüfen Sie die gegenseitige Abhängigkeit von zwei oder mehr Feldern (z. B.: Das Startdatum muss vor dem Enddatum liegen).

2. Wie funktioniert die Bean-Validierung?

Das Bean-Validierungs-Framework verwendet Annotationen, um Parameter zu markieren, die überprüft werden müssen. Zu diesen Annotationen gehören @NotNull, @Min, @Max, @Size, @Pattern usw. Wenn Parameter an die Methode übergeben werden, führt das Bean-Validierungs-Framework automatisch die entsprechenden Überprüfungsregeln aus. Wenn die Überprüfung fehlschlägt, sendet das Bean-Validierungs-Framework eine Fehlermeldung. Entwickler können benutzerdefinierte Validierungsregeln schreiben, um den Geschäftsanforderungen gerecht zu werden.

Das Bean Validation Framework bietet eine Reihe vordefinierter Validierungsregeln, die auf Eigenschaften und Methodenparameter in Java Beans angewendet werden können. Zu den vordefinierten Regeln gehören:

@NotNull: Überprüfen Sie, ob es sich um einen Nullwert handelt.

@Size: Überprüfen Sie die Länge von String, Collection, Map und Array.

@Min, @Max: Überprüfen Sie die Größe des Werts.

@Email : Überprüfen Sie, ob für E-Mail-Adressen

@Pattern: Überprüfen Sie Zeichenfolgen basierend auf regulären Ausdrücken

Bei Verwendung des Bean-Validation-Frameworks müssen Sie javax.validation-api und die entsprechende Bean-Validation-Implementierung in den Klassenpfad einschließen, z. B. Hibernate Validator. Über Maven können Sie die folgenden Abhängigkeiten hinzufügen:

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.1.Final</version>
</dependency>
<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.10.Final</version>
</dependency>
Nach dem Login kopieren

3. Bean-Validierungsbeispiel

Angenommen, wir haben eine Benutzerklasse, die die grundlegenden Informationen des Benutzers enthält. Jetzt müssen wir die Attribute in der Benutzerklasse überprüfen:

public class User {
    private String name;
    private Integer age;
    private String email;
    private String address;
  
    // getters and setters
}
Nach dem Login kopieren

Überprüfung durch das Projekt erforderlich. Die Regeln lauten wie folgt:

  1. Name ist nicht leer und die Länge ist größer als 5 und kleiner als 10;
  2. E-Mail ist nicht leer nicht leer und ist eine gültige E-Mail-Adresse;
  3. Adresse kann leer sein.
  4. Wir können Bean Validation verwenden, um diese Validierungsregeln zu definieren. Die spezifische Implementierung ist wie folgt:
public class UserValidator {

    private Validator validator;

    public UserValidator() {
        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        validator = factory.getValidator();
    }

    /**
     * 对 User 对象进行校验
     * 
     * @param user
     * @return
     */
    public String validate(User user) {

        Set<ConstraintViolation<User>> violations = validator.validate(user);

        StringBuilder result = new StringBuilder();
        if (!violations.isEmpty()) {
            for (ConstraintViolation<User> violation : violations) {
                result.append(violation.getMessage()).append(";");
            }
        }

        return result.toString();
    }
}
Nach dem Login kopieren

In der UserValidator-Klasse verwenden wir die Validator-Toolklasse, um ein ValidatorFactory-Objekt über die buildDefaultValidatorFactory()-Methode zu erstellen Validator-Objekt. Benutzerobjekte können durch Aufrufen der Methode validator.validate(user) überprüft werden. Für die Verifizierungsergebnisse zeichnen wir alle Fehlerinformationen im StringBuilder-Objekt auf und geben sie an das aufrufende Ende zurück.

Schließlich können wir das UserValidator-Objekt in der Testklasse verwenden und den Test durchführen:

public class UserValidatorTest {
  
    @Test
    void testValidateUser() {
        User user = new User();
        user.setName("abcd");
        user.setAge(300);
        user.setEmail("abc");
        user.setAddress(null);

        UserValidator validator = new UserValidator();
        String result = validator.validate(user);

        assertThat(result, containsString("Name length must be between 5 and 10."));
        assertThat(result, containsString("Size must be between 1 and 200."));
        assertThat(result, containsString("must be a well-formed email address"));
    }
}
Nach dem Login kopieren

In der obigen Testmethode haben wir ein Benutzerobjekt erstellt, dessen Attribute nicht den Validierungsregeln entsprachen, also der „validate()“ von UserValidator wurde aufgerufen Die Methode gibt die entsprechende Fehlermeldung zurück.

4. Zusammenfassung

Dieser Artikel stellt das Konzept und die Verwendung des Bean-Validierungs-Frameworks vor. Das Framework überprüft Parameter durch Anmerkungen, was Entwicklern dabei helfen kann, Eingabefehler beim Schreiben von Code zu verhindern und Benutzereingabefehler zur Laufzeit zu erkennen und zu melden. Gleichzeitig können Entwickler benutzerdefinierte Verifizierungsregeln entsprechend den Geschäftsanforderungen schreiben, um komplexere Verifizierungsszenarien zu erfüllen.

Das obige ist der detaillierte Inhalt vonVerwendung der Bean-Validierung zur Parameterüberprüfung in der Java-API-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwendung von Imgscalr für die Bildverarbeitung in der Java-API-Entwicklung Verwendung von Imgscalr für die Bildverarbeitung in der Java-API-Entwicklung Jun 18, 2023 am 08:40 AM

Verwendung von Imgscalr für die Bildverarbeitung in der Java-API-Entwicklung Mit der Entwicklung des mobilen Internets und der Popularität von Internetwerbung sind Bilder in vielen Anwendungen zu einem unverzichtbaren Element geworden. Ob es um die Präsentation von Produkten, den Aufbau sozialer Kreise oder die Verbesserung des Benutzererlebnisses geht, Bilder spielen eine wichtige Rolle. In Anwendungen ist es häufig erforderlich, Vorgänge wie das Zuschneiden, Skalieren und Drehen von Bildern auszuführen, was den Einsatz einiger Bildverarbeitungswerkzeuge erfordert. Imgscalr ist ein sehr häufig verwendetes Bild in der JavaAPI-Entwicklung.

Welche kostenlosen API-Schnittstellen-Websites gibt es? Welche kostenlosen API-Schnittstellen-Websites gibt es? Jan 05, 2024 am 11:33 AM

Kostenlose API-Schnittstellen-Website: 1. UomgAPI: eine Plattform, die stabile und schnelle kostenlose API-Dienste mit über 100 API-Schnittstellen bereitstellt; 2. Free-API: stellt mehrere kostenlose API-Schnittstellen bereit; 4 . AutoNavi Open Platform: Bietet kartenbezogene API-Schnittstellen; 5. Gesichtserkennung Face++: Bietet gesichtserkennungsbezogene API-Schnittstellen. 6. Geschwindigkeitsdaten: Bietet über hundert kostenlose API-Schnittstellen, die für verschiedene Anforderungen geeignet sind 7. Aggregierte Daten usw.

So implementieren Sie Bildverifizierungscode in der Java-API-Entwicklung So implementieren Sie Bildverifizierungscode in der Java-API-Entwicklung Jun 18, 2023 am 09:22 AM

Mit der rasanten Entwicklung der Internet-Technologie sind Verifizierungscodes zu einem wesentlichen Bestandteil jedes Systems geworden, um die Systemsicherheit zu gewährleisten. Unter diesen wird der Bildverifizierungscode aufgrund seiner Benutzerfreundlichkeit und Sicherheit von Entwicklern bevorzugt. In diesem Artikel wird die spezifische Methode zur Implementierung von Bildüberprüfungscode in der JavaAPI-Entwicklung vorgestellt. 1. Was ist ein Bildverifizierungscode? Ein Bildverifizierungscode ist eine Möglichkeit zur Mensch-Maschine-Verifizierung durch Bilder. Es besteht in der Regel aus einer zufälligen Kombination von Bildern mit Zahlen, Buchstaben, Symbolen usw., was die Sicherheit des Systems erhöht. Sein Funktionsprinzip umfasst

Verwendung von GreenMail für E-Mail-Tests in der Java-API-Entwicklung Verwendung von GreenMail für E-Mail-Tests in der Java-API-Entwicklung Jun 18, 2023 pm 02:22 PM

Java API ist eine weit verbreitete Entwicklungssprache für die Entwicklung von Webanwendungen, Desktopanwendungen, mobilen Anwendungen usw. Bei der JavaAPI-Entwicklung sind E-Mail-Tests unerlässlich, da die E-Mail-Kommunikation eine der wichtigsten Kommunikationsmethoden in der modernen Gesellschaft ist. Daher müssen Entwickler einige Tools verwenden, um zu testen, ob ihre E-Mails ordnungsgemäß funktionieren. In diesem Artikel wird eine Open-Source-Software namens GreenMail vorgestellt, die in der JavaAPI-Entwicklung für E-Mail-Tests verwendet werden kann. Grün

Was sind die gängigen Protokolle für die Java-Netzwerkprogrammierung? Was sind die gängigen Protokolle für die Java-Netzwerkprogrammierung? Apr 15, 2024 am 11:33 AM

Zu den in der Java-Netzwerkprogrammierung häufig verwendeten Protokollen gehören: TCP/IP: Wird für die zuverlässige Datenübertragung und Verbindungsverwaltung verwendet. HTTP: wird für die Web-Datenübertragung verwendet. HTTPS: Eine sichere Version von HTTP, die zur Datenübertragung Verschlüsselung verwendet. UDP: Für schnelle, aber instabile Datenübertragung. JDBC: Wird zur Interaktion mit relationalen Datenbanken verwendet.

Was ist j2ee und welche Technologien umfasst es? Was ist j2ee und welche Technologien umfasst es? Apr 14, 2024 pm 09:06 PM

J2EE ist eine Java-Plattform für die Entwicklung von Unternehmensanwendungen und umfasst die folgenden Technologien: Java Servlet und JSPJava Enterprise Beans (EJB)Java Persistence API (JPA)Java API für XML-Webdienste (JAX-WS)JavaMailJava Message Service (JMS)Java-Transaktion API (JTA)Java Naming and Directory Interface (JNDI)

JAX-RS vs. Spring MVC: Ein Kampf zwischen RESTful-Giganten JAX-RS vs. Spring MVC: Ein Kampf zwischen RESTful-Giganten Feb 29, 2024 pm 05:16 PM

Einführung RESTful APIs sind zu einem integralen Bestandteil moderner WEB-Anwendungen geworden. Sie bieten einen standardisierten Ansatz für die Erstellung und Nutzung von Webdiensten und verbessern so die Portabilität, Skalierbarkeit und Benutzerfreundlichkeit. Im Java-Ökosystem sind JAX-RS und springmvc die beiden beliebtesten Frameworks zum Erstellen von RESTful-APIs. In diesem Artikel werfen wir einen detaillierten Blick auf beide Frameworks und vergleichen ihre Funktionen, Vor- und Nachteile, um Ihnen eine fundierte Entscheidung zu erleichtern. JAX-RS: JAX-RSAPI JAX-RS (JavaAPI für RESTful Web Services) ist ein von JavaEE entwickeltes Standard-JAX-RSAPI für die Entwicklung von REST

Verwendung von Jgroups für die verteilte Kommunikation in der Java-API-Entwicklung Verwendung von Jgroups für die verteilte Kommunikation in der Java-API-Entwicklung Jun 18, 2023 pm 11:04 PM

Verwendung von JGroups für verteilte Kommunikation in der JavaAPI-Entwicklung Mit der rasanten Entwicklung des Internets und der Popularität von Cloud Computing sind verteilte Systeme zu einem der wichtigen Trends in der heutigen Internetentwicklung geworden. In einem verteilten System müssen verschiedene Knoten miteinander kommunizieren und zusammenarbeiten, um hohe Verfügbarkeit, hohe Leistung, hohe Skalierbarkeit und andere Eigenschaften des verteilten Systems zu erreichen. Verteilte Kommunikation ist ein entscheidender Teil davon. JGroups ist eine Java-Bibliothek, die Multicast und verteilte Zusammenarbeit unterstützt

See all articles