/nestjs-example

nestja for bff (example)

Primary LanguageTypeScript

Example: Nest.js for BFF

기본 파일 용도
app.controller.spec.ts 컨트롤러 단위 테스트용
app.controller.ts 기본 컨트롤러 @Controller
app.module.ts root module, 스프링으로 치면 @Configuraion인가?
app.service.ts 기본 서비스 @Component
main.js Nest.js 애플리케이션 인스턴스를 생성하는 메인

적용해볼 것

  • 환경변수를 주입받아 코드에서 사용하기
  • 컨트롤러로 요청을 처리하기
  • OpenApi Generator로 서버 Client 생성하기
  • 서버 Client를 비동기로 사용하기
  • inbound, outbound 로깅

OpenApi-Generator

$ npm install @openapitools/openapi-generator-cli

$ openapi-generator-cli generate -i ./apispec/delay-api.yaml -g typescript-axios -o './src/client'

How to start application

# $ brew install node
# $ nest new ${project-name}
# $ npm i @nestjs/axios
# $ npm i @nestjs/config

$ nest start
$ npm run start

# for debug
$ nest start --debug --watch

$ time curl -XGET http://localhost:3000/api/delay\?query\=5 | jq

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

Stay in touch

License

Nest is MIT licensed.