Récupérer des données
ts
import { ResponseContract, useRouteBuilder } from "@duplojs/http";
import { DPE } from "@duplojs/utils";
useRouteBuilder("POST", "/users/{userId}")
.extract({
params: {
userId: DPE.coerce.number(),
},
query: {
someValue: DPE.string().optional(),
superQuery: DPE.coerce.number(),
},
})
.extract({
headers: {
token: DPE.string(),
},
body: DPE.object({
username: DPE.string(),
age: DPE.string(),
}),
})
.handler(
ResponseContract.noContent("someInformation"),
(floor, { response }) => {
const {
someValue,
superQuery,
token,
userId,
body: {
username,
age,
},
} = floor;
return response("someInformation");
},
);Pour récupérer des données sur une requête, il suffit d'appeler la méthode extract du route builder, ce qui ajoutera une étape d'extraction de données à votre route. Cette étape d'extraction utilise forcément un dataParser de la lib @duplojs/utils. Cela permet de valider les données avant de les utiliser.
Les données sont ensuite disponibles dans le Floor, qui est un objet qui contient l'accumulation de données de la route. Les données peuvent provenir d'étapes d'extraction ou d'autres étapes comme les checkeurs, les processus, les cuts, etc.
Profondeur d'extraction
ts
import { useRouteBuilder } from "@duplojs/http";
import { DPE } from "@duplojs/utils";
useRouteBuilder("POST", "/users/{userId}")
.extract({
headers: {
token: DPE.string(),
},
body: DPE.object({
username: DPE.string(),
age: DPE.string(),
}),
});L'extraction de données peut se faire sur deux niveaux. La clé de stockage sera la clé du dataParser.
