Unable to resolve service for type 'muscatApi.Services.UserService' while attempting to activate 'muscatApi.Controllers.UserController'.
오류 메시지 해석: Controller에 접근 시에, Service를 찾을 수 없다고 한다.
문제 상황: Service의 경우에 Interface를 정의하고 그걸 구현하는 형태로 만들어져 있었음.
Controller의 생성자에서 Service를 주입하는데, 이때 UserService 형을 주입하였음.
UserService _userService;
public UserController(UserService userService)
{
_userService = userService;
}
메인 - Program.cs
에서 Service 호출하는 부분은 이렇게 되어 있다.
// 빌더 아래에
builder.Services.AddTransient<IUserService, UserService>();
Controller에서 Service 주입 받는 부분을 보자.
메인에서는 IUserService를 넣어주었기 때문에, Controller에서도 IUserService를 넣어줘야 한다.
IUserService _userService;
public UserController(IUserService userService)
{
_userService = userService;
}
이렇게 고치면 해결된다.