Verwendungsszenarien für @Validated-Annotationen

Bei Verwendung der Annotation @Validated wird sie im Allgemeinen zum Validieren von Anforderungsparametern in Spring MVC-Controllermethoden verwendet. Hier ist ein einfaches Codebeispielszenario:

Zuerst erstellen wir eine Validierungsgruppe UpdateValid, um Validierungsregeln für Aktualisierungsvorgänge zu definieren.

public interface UpdateValid {
    // 空接口,用于作为验证标记
}
public interface InsertValid {
    // 空接口,用于作为验证标记
}

Anschließend erstellen wir eine Controller-Klasse, die eine Methode enthält, die die Benutzerinformationen aktualisiert.

@RestController
public class UserController {

    @PostMapping("/users/{id}")
    public ResponseEntity<String> updateUser(
            @PathVariable("id") Long id,
            @RequestBody @Validated({UpdateValid.class}) UserDto userDto),
            @RequestBody @Validated({InsertValid.class}) UserDto userDto)  {
        // 更新用户信息的逻辑
        // ...
        return ResponseEntity.ok("User updated successfully!");
    }
}

Im obigen Code verwenden wir die Annotation @Validated({UpdateValid.class}), um die Anforderungsparameter des Typs UserDto zu validieren. Dies bedeutet, dass der userDto-Parameter überprüft wird, bevor die updateUser-Methode ausgeführt wird.

Angenommen, unsere UserDto-Klasse sieht so aus:

public class UserDto {
    
    @NotBlank(message = "用户名不能为空", groups = {UpdateValid.class})
    private String username;
    
    @Email(message = "邮箱格式不正确", groups = {InsertValid.class})
    private String email;

    // 省略其他字段和方法
}

Im obigen Beispiel haben wir die Annotationen @NotBlank und @Email verwendet, um zu überprüfen, ob die Felder „Benutzername“ und „E-Mail“ nicht leer sind und im E-Mail-Format vorliegen. und der Parameter groups gibt an, dass die Validierungsregel zur Validierungsgruppe UpdateValid gehört. Auf diese Weise wird beim Durchführen eines Aktualisierungsvorgangs nur überprüft, ob das Feld „Benutzername“ ungleich Null ist.

Indem wir Validierungsgruppen definieren und bei Bedarf angeben, können wir Parametervalidierungsregeln flexibler steuern, um sie an unterschiedliche Geschäftsszenarien und -anforderungen anzupassen.

Wenn der Client eine POST-Anfrage an die Schnittstelle /users/{id} sendet und JSON-Daten übergibt, die dem UserDto-Typ entsprechen, validiert das Spring MVC-Framework automatisch den UserDto-Parameter. Wenn die Überprüfung fehlschlägt, wird die entsprechende Fehlermeldung zurückgegeben. Wenn die Überprüfung erfolgreich ist, wird die updateUser-Methode ausgeführt.

Durch die Verwendung der Annotations- und Validierungsgruppe @Validated können wir problemlos eine Validierung auf Parameterebene in der Controller-Methode implementieren und die Gültigkeit der angeforderten Daten sicherstellen.

おすすめ

転載: blog.csdn.net/weixin_44060488/article/details/134992183