[TIL] NestJS 공부 43일차
이번엔 어제 마무리 못지은 TypeORM을 마무리 짓도록 하겠습니다.
사용할 컨트롤러 부분에 코드를 추가해줍시다!
사용하기 전에 생성자가 타입을 설정해주는 것이 중요하므로 생성자 타입을 수정해주는 코드를 적어주고
constructor(private readonly userdataservice: UserdataService) {}
데이터가 많을 경우 데이터 받아오는 과정에서 시간이 걸릴 수 있으므로 비동기 처리를 시켜주게 해줍시다!
@Get()
async getdata() {
const data = await this.userdataservice.getData()
return data;
}
그리고 AppModule에서 일어난 에런데.. 종속성을 찾지 못하는 에러
Nest can't resolve dependencies of the LoginController (?). Please make sure that the argument UserdataService at index [0] is available in the AppModule context.
이런 에러가 발생한다면 에러 명만 읽고 복붙해서 찾지말고 아래에 solution제공도 있으니 꼭 확인하세요..ㅠ
그리고 app.module부분에 정보들이 들어간게 아쉽긴한데 나중에 env파일을 이용하여 변경하도록 하겠습니다 ㅎ
어쨌든 이렇게 완성할 수 있었습니다! 나중에 잊어버려서 헤매지 않게 간단하게 요약하고 가겠습니다!
요약
userdata.service - 생성자 유의한 후 메서드 추가
@InjectRepository(Userdata)
private usersRepository: Repository<Userdata>,
) {}
userdata.module - 제공자 사용
imports: [TypeOrmModule.forFeature([Userdata])],
providers:[UserdataService],
exports: [TypeOrmModule]
login.controller - 생성자 사용
constructor(private readonly userdataservice: UserdataService) {}
app.module - providers에 userdataservice추가 및 forRoot 지정
@Module({
imports: [
TypeOrmModule.forRoot({
type: 'mysql',
host: '127.0.0.1',
port: 3306,
username: 'root',
password: '0112',
database: 'test',
entities: [Userdata],
synchronize: true,
}),
DashboardModule, LoginModule, UserdataModule],
controllers: [AppController, DashboardController, LoginController],
providers: [AppService, DashboardService,UserdataService],
})
Author And Source
이 문제에 관하여([TIL] NestJS 공부 43일차), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ingyocode/TIL-NestJS-공부-43일차저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)