일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ubuntu타임존
- 가상컴퓨터마법사
- search()
- Robo3T 폰트변경
- Robo3T 글씨체 변경
- 시퀄 문법
- 프론트엔드 스쿨
- ${변수}
- 5.3.8 Modifying Queries
- lastIndexOf()
- sql 문자열 패턴 검색
- sql like연산자
- Robo3T 폰트 키우기
- Robo3T 글씨키우기
- 스프링 데이타 JPA
- 객체의 밸류값만 찾기
- 객체의키값만 찾기
- 리엑트블로거
- 우분투 시간 변경
- 레디스 확인
- 문자열 인터폴레이션
- js 문자열을 문자배열로
- findIndex()
- 객체를 배열로
- ...점점점문법
- @Moditying @Query
- 깃 토큰 만료
- 배열을 객체로
- indexOf()
- 코딩 어?
- Today
- Total
코딩기록
NestJS, 타입스크립트 연습, swagger (노마드 코더) 본문
1. @nestjs/cli 설치
npm i -g @nestjs/cli
2. 프로젝트 생성 명령어
nest new 프로젝트이름쓰기
위 명령어를 입력하면 설치 도중 어떤 패키지 매니저를 선택할지 묻는다. 나는 npm으로 선택했다.
운영 서버가 아닌 개발 단계에서는 npm run start:dev 명령어를 이용한다.
노드 express에서는 node app.js 명령어로 서버를 돌렸지만 nest는 npm run start:dev를 사용한다.
서버를 돌리고 크롬주소창에 localhost:3000 을 입력하면 서버가 구동 완료.
api 만들기
controller
https://www.youtube.com/watch?v=DbT5BYP60LY
service
https://www.youtube.com/watch?v=6ctDJO-UWP0
movie관련 Rest api 만들기 (생성:g)
https://www.youtube.com/watch?v=4icmIlQ0x5w&t=102s
1. 터미널에 nest를 치면 아래와 같이 나온다.
2. 터미널에 nest g co 명령어 입력 ( g: generate, co: controller)
입력하면 이름을 쓰라고 나오는데 그때 원하는 폴더 이름을 쓴다.
movies란 이름의 폴더가 만들어 졌고 그안에 2가지의 파일이 만들어졌다.
1. movies.controller.ts
2. movies.controller.spec.ts
그중 2번을 지우고 1번만 썼다.
@: 데코레이터
@Get,@Post, @Delete, @Patch, @Put
https://www.youtube.com/watch?v=4icmIlQ0x5w
@Param, @Body
https://www.youtube.com/watch?v=pAd44fJAElk
Swagger
1.설치
npm install --save @nestjs/swagger swagger-ui-express
main.ts에다가 setupSwagger라고 따로 만들었다.
main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { setupSwagger } from './swagger';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
setupSwagger(app);
await app.listen(3000);
}
void bootstrap();
swagger.ts
import { INestApplication } from '@nestjs/common';
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
/*
* Swagger 세팅
*
* @param {INestApplication} app
*/
export function setupSwagger(app: INestApplication): void {
const options = new DocumentBuilder()
.setTitle('NestJS Study API Docs')
.setDescription('NestJS Study API description')
.setVersion('1.0.0')
.build();
const document = SwaggerModule.createDocument(app, options);
SwaggerModule.setup('api-docs', app, document);
}
참고
*swagger참고 (1번참고함)
1. https://jhyeok.com/nestjs-swagger/
2. https://popawaw.tistory.com/183