[.net] Unable to resolve service for type 오류

해질녘·2022년 3월 10일
0

닷넷 (.NET)

목록 보기
11/12

오류 메시지

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;
        }

이렇게 고치면 해결된다.

도움받은 링크

0개의 댓글