Aller au contenu principal

30-1 Sans validations

Il est possible, dans l'état actuel de l'API, de faire des requêtes utilisant le mauvais format de données ou encore utilisant des champs vides pour des champs qui seraient requis.

Par exemple, via Postman, une requête POST vers http://localhost:3000/projets avec ces données:

{
"nom": "",
"description": false,
"image_url": "https://i.imgur.com/Y5nZ4Qe.jpg"
}

Fonctionnera et retournera un résultat semblable à celui-ci:

{
"id": 3,
"nom": "",
"description": false,
"date_creation": "2023-10-19T13:48:21.084Z",
"date_modification": "2023-10-19T13:48:21.084Z"
}

Imgur

info

Pourtant, nom devrait être un champ requis pour un nouveau projet et ça n'a pas de sens d'assigner une valeur booléenne à description!

Il nous faudra ajouter une certaine forme de validation à l'application afin d'éviter de sauvegarder des données qui ne correspondent pas au format attendu.

Nous avons même pu assigner une valeur booléenne à un attribut qui normalement est défini comme string. N'oubliez pas que même si NestJS est écrit en TypeScript, au final il s'agit de JavaScript qui est exécuté sur le serveur et JavaScript n'est pas fortement typé. C'est ce qui permet l'assignation d'une valeur booléenne à une propriété qui est attendue comme étant de format string.