Aller au contenu principal

Liaison d'objets imbriqués

Express-Cargo vous permet de gérer des objets imbriqués dans les requêtes, en les liant automatiquement à des objets imbriqués tout en supportant la conversion de type récursive et la validation.

Exemple d'utilisation

import express, { Request, Response } from 'express'
import { Body, bindingCargo, getCargo } from 'express-cargo'

// 1. Définir un objet imbriqué
class Profile {
@Body('nickname')
nickname!: string
}

class ExampleObject {
@Body('profile')
profile!: Profile
}

// 2. Configuration de l'application Express et de la route
const app = express()
app.use(express.json())

app.post('/submit', bindingCargo(ExampleObject), (req: Request, res: Response) => {
const requestData = getCargo<ExampleObject>(req)

res.json({
message: 'Imbrication liée avec succès !',
data: requestData,
})
})

/*
Pour tester ce point de terminaison, envoyez une requête POST à /submit.

Exemple d'URL de requête :
http://localhost:3000/submit
*/

Exemple de sortie

Lorsqu'une requête POST avec un objet profile imbriqué est envoyée, le middleware bindingCargo instancie et valide automatiquement l'ExampleObject imbriqué. La fonction getCargo retourne ensuite un objet entièrement peuplé avec les données imbriquées :

{
"message": "Imbrication liée avec succès !",
"data": {
"profile": {
"nickname": "coder123"
}
}
}