미루고 미루다가 오늘 드디어 NestJS의 꽃인 Provider와 필수로 알고 가야되는 Ioc, DI에 대해 포스팅 해보려고한다. 처음 공식문서를 접했을 때엔 이게 무슨소린가 싶었지만 너무나 중요한개념이라서 관련문서를 끊임없이 찾아보았다. 솔직히 개념적으로 모르더라도 NestJS로 개발하는데 큰 어려움은 없지만 제대로 알고 개발을 하고 싶었다. Provider 우선 Provider를 사전적 의미로 보면 제공자이다. 뭘 제공하느냐? 의존성을 주입할 수 있다는 말이다. 의존성을 주입할 수 있다는 의미는 object가 다른 object와 다양한 관계를 만들 수 있고, 객체의 인스턴스를 연결해주는 기능은 Nest 런타임 시스템에 위임될 수 있다. 그리고 대부분 NestJS의 클래스는 service, repos..
Nest.js 를 사용하면서 api문서화 도구인 "Swagger"를 사용하는데 여기서 스웨거란? Swagger 는 REST API를 설계, 빌드, 문서화 및 사용하는 데 도움이되는 OpenAPI 사양을 중심으로 구축 된 오픈 소스 도구 세트입니다. - About Swagger Specification 이 스웨거를 사용하다가 "TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body." 라는 오류가 발생해서 포스팅을 해보려고 한다. @Get 방식으로 유저 정보에 대해 불러오려고 했는데 스웨거 관련 코드를 보면 이렇다. @ApiBody({ type: ListUserDto, description:..
ERROR [ExceptionsHandler] No metadata for "Entity" was found. 이런 오류가 뜰 경우 DB랑 프로젝트에 "Entity"파일이랑 연결이 안된 경우이다. Nest.js랑 DB연결 관련 파일은 app.moduel에 가면된다. app.moduel에 사진과 같은 부분이 있을 것 이다. 여기서 이전에 DB연결이 잘 되어있었다면 다른건 건드릴 필요없이 "entities: " 부분만 수정해주면 된다. [__dirname + '/**/*.entity{.ts,.js}'] "__dirname" 은 현재 실행중인 경로를 불러오고 뒤에 " '/**/*.entity{.ts,.js}' " 부분은 엔티티 파일의 경로를 뜻한다. import{ } 에 엔티티 경로를 보면 이해가 될 것 이다..