Si të trajtoni dhe vërtetoni të dhënat për një pikë fundore REST me kornizën NestJS.

Qëllimi i këtij artikulli do të jetë të tregojë se si të trajtohen dhe vërtetohen të dhënat për një pikë fundore pushimi me kornizën NestJS.

Çfarë është DTO?

DTO është emri i shkurtër i Objektit të Transferimit të të Dhënave. DTO përdoret për të vërtetuar kërkesat hyrëse.

DTO në vetvete është më shumë një udhëzues për zhvilluesin dhe ata që konsumojnë API për të ditur se çfarë lloj forme pret të jetë trupi i kërkesës, ai në fakt nuk ekzekuton asnjë validim vetë!!!.

Pse duhet të përdorim DTO?

Ka disa koncepte të tjera të rëndësishme në Nest. js: DTO: Objekti i transferimit të të dhënave është një objekt që përcakton se si do të dërgohen të dhënat në rrjet. Ndërfaqet: Ndërfaqet TypeScript përdoren për kontrollin e tipit dhe përcaktimin e llojeve të të dhënave që mund t'i kalohen një kontrolluesi ose një shërbimi Nest.

Si mund ta përdorim?

Supozoni se duam të krijojmë një pikë përfundimtare për të shtuar një produkt dhe duam ta vërtetojmë këtë produkt përpara se të hyjmë në shërbim. ne duam ta vërtetojmë atë në nivelin e kontrolluesit. Cila është mënyra për ta bërë këtë me NestJS?

Ne duhet të krijojmë klasën tonë DTO 💁‍♀️, me fushat që duhet të vërtetohen (duhet të instalojmë validatorin e klasës së bibliotekës për të vërtetuar të dhënat)

tani duam të shtojmë një emër të fushës enum product_type dhe duam ta vërtetojmë nëpërmjet DTO.

ne mund të vërtetojmë jo vetëm një fushë të vetme, por gjithashtu mund të vërtetojmë një grup objektesh me DTO në NestJS. ne duhet të përdorim një transformator të klasës për këtë. për shembull kemi një grup produktesh ku duhet të vërtetojmë objekte të shumta produkti. ne thjesht do të bëjmë një lloj grupi dhe më pas do ta vërtetojmë atë.

Ne folëm mjaftueshëm për DTO, por para kësaj, ne vetëm duhet të bëjmë një tub verifikimi global Këtu është një shpjegim i vetive të tij:

  • lista e bardhë: heq të gjitha vetitë e trupit të një kërkese që nuk janë në DTO
  • transformoj: kjo veti do të na lejojë të transformojmë vetitë, për shembull, një numër të plotë në një varg. Ne nuk e mbulojmë këtë sot.

Disa pika kyçe:

Më shumë përmbajtje në PlainEnglish.io. Regjistrohu përbuletinin tonë javor falas. Na ndiqni në Twitter dhe LinkedIn. Bashkohuni me Mosmarrëveshjet në komunitet.