DTO en Java

En Java, DTO signifie Data Transfer Object. DTO est un modèle de conception utilisé pour transférer des données entre différentes couches d'une application. Les DTO sont souvent utilisés pour transmettre des données d'une couche (telle que la couche de persistance) à une autre couche (telle que la couche de vue).

L'objectif principal de DTO est d'encapsuler les données 将前端发送的数据封装为一个java对象afin que les données puissent être transférées entre différentes couches tout en préservant leur intégrité et leur cohérence. DTO contient généralement des données membres et des méthodes getter/setter pour accéder et modifier les données.

Voici un exemple simple utilisant DTO :

Supposons que nous ayons un système de gestion des utilisateurs qui contient une classe d'entité utilisateur (User). La classe User possède des attributs tels que le nom, l'âge et l'adresse e-mail.

Sur le frontend, nous avons un formulaire dans lequel l'utilisateur peut remplir son nom et son adresse e-mail. Après avoir soumis le formulaire, les données sont envoyées au backend pour traitement.

Sur le backend, nous pouvons définir un DTO (AddApplicationDTO) qui contient les données membres nécessaires dans le formulaire frontend, à savoir le nom et l'e-mail. Dans le contrôleur, nous pouvons utiliser DTO pour recevoir les données transmises par le front-end et transmettre les données à la couche de service pour traitement.

Dans cet exemple, DTO joue le rôle d'un objet de transfert de données, qui est utilisé pour encapsuler et transmettre des données sous forme frontale, afin que les données puissent être transmises entre le front-end et le back-end, et puissent être converti entre différentes couches.

Exemple de code :

Définir DTO en Java :

public class AddApplicationDTO {
    
    
    private String name;
    private String email;

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public String getEmail() {
    
    
        return email;
    }

    public void setEmail(String email) {
    
    
        this.email = email;
    }
}

Utilisez DTO dans le contrôleur :

@RestController
public class UserController {
    
    
    @PostMapping("/addUser")
    public String addUser(@RequestBody AddApplicationDTO user) {
    
    
        // 将DTO中的数据传递给服务层进行处理
        UserService userService = new UserService();
        boolean result = userService.addUser(user);
        if (result) {
    
    
            return "用户添加成功!";
        } else {
    
    
            return "用户添加失败!";
        }
    }
}

Exemple d'interaction front-end et back-end (en prenant le format JSON comme exemple) :

Le front-end envoie une requête :

{
    
    
    "name": "张三",
    "email": "[email protected]"
}

Le backend reçoit la requête et la traite :

Dans la couche service, nous pouvons transmettre les données du DTO à la couche base de données et stocker les données dans la base de données. Dans cet exemple, nous n'avons pas besoin de toutes les données du DTO, il nous suffit de transmettre le nom et l'e-mail à la couche de base de données. De cette façon, nous pouvons réduire la transmission et la conversion inutiles de données et améliorer les performances et l’efficacité.

Guess you like

Origin blog.csdn.net/drhnb/article/details/132797575
dto