NestJS (TypeScript) - rozchození projektu v nestu

(3. 8. 2022) NestJS je Node.js framework používaný k vytváření efektivních spolehlivých a škálovatelných aplikací na straně serveru. Za použití TypeScriptu JavaScript nabízí mnohé.

Používané technologie:

Prerequisite

Instalace

Moduly

TypeORM

Vytvoření entity

Vytvoření repozitáře

Z repozitáře si mohu volat základní metody, které obsahuje base Repository, jako je například (findOne, find, save, atd…) vice na https://typeorm.io/repository-api

Controller & Swagger

DTO

Jednotlivé parametry obohatíme o dekorátory podle potřeby. Např:

Více deklarací nalezneme zde: https://github.com/typestack/class-validator

Použití vytvořeného DTO uvnitř controlleru

Zde se akorát řekne, co má obsahovat Body HTTP requestu Následně se nám vše vygeneruje do Swagger doc

GraphQL

Po vytvoření resolveru se nám zpřístupní na endpointu http://localhost:3000/graphql API dokumentace GraphQL, kde si můžeme jednoduše odzkoušet metody.

Stejným principem jako u controlleru se dají do resolveru psát DTO

Kde si zase definujeme jednotlivé fieldy přes dekorátor @Field Více na https://docs.nestjs.com/graphql/mapped-types

Následně použití uvnitř resolveru, obdobně jako v controlleru

V GraphQL Doc můžeme pak vyzkoušet

Metoda usersWhoAmI vyžaduje přihlášeného uživatele, proto je nutné do hlavičky requestu vložit username a password uživatele, kterého jsme vytvořili při instalaci projektu. Skvělá věc na GraphQL je hlavně to, že si můžeme upravovat response dle potřeby. V tomto případě potřebuji z modelu UserTypeModel pouze id a name. Tak si upravím request tak, aby se mi vracela jen určitá část modelu.

RabbitMQ

Registrace do modulu + config

Client

Subscriber

Volné pozice

O autorovi

Radek Zika, Mykola Chomenko PHP senior developers