개발도구 5

Windows/스프링부트2.7/외장 톰캣/IntelliJ 환경에서 tomcat Context로 리소스에 직접 접근할 때 404 에러 발생하는 문제 해결

위처럼 /upload 패스로 접근할 때 D 드라이브 하위의 upload 디렉토리에 있는 리소스를 스프링까지 넘어오지 않고 톰캣이 직접 서빙해주도록 하고 싶었다. 그런데 404 Not Found가 발생했다. 기본적인 앱은 잘 동작하고 있는 상태였다. 결론적으로 말하면 저 박스를 체크해주니까 해결되었다. 접근 성공!

(메모) MVC 대용량 파일 업로드시 요청이 컨트롤러에 진입하는 시점

대용량일 경우 파일의 데이터를 스트림으로 전송할텐데, xhr.upload.onprogress 및 WAS를 디버깅하여 확인해보건데, 모든 스트림이 비워질 때 컨트롤러에 도달한다. 더 엄밀히 말하면 아마 스트림이 비워지고 WAS의 메모리상에 파일 데이터가 로드될 때 컨트롤러까지 전달되면 그때 컨트롤러에서 잡히는 것 같다.

테스트는 성공하는데 실제 요청에서 403 Forbidden 응답이 발생하는 경우

문제 발견 JWT Bearer 토큰을 이용하여 인증을 전제하는 기초적인 Get 요청에 대하여 테스트는 성공하는데 Postman을 활용한 실제 응답에서 403 Forbidden 응답이 발생했다. 아래는 import 부분만 제거한 실제 테스트 코드다 @DisplayName("예산 시나리오 테스트") @Transactional @AutoConfigureMockMvc @SpringBootTest class BudgetControllerTest extends AbstractControllerWithAuthTest { private static final String BASE_URI = "/api/budgets"; @Autowired public BudgetControllerTest(MockMvc mockMvc, ..

빈 충돌 문제해결 (NoUniqueBeanDefinitionException, UnsatisfiedDependencyException, @ComponentScan, @Bean)

인프런, "섹션 6. 중복 등록과 충돌"에서 스프링 부트 앱을 실행할 때 발생하는 빈 충돌 문제해결을 위해 작성한 글입니다. 스프링부트 앱 실행 및 테스트로 확인한 주요 에러 메시지 정리 MemberServiceImpl의 생성자의 파라미터 0이 싱글빈일 것이 요구되는데, 2개의 후보가 있다고 한다. 더 자세하게 살펴보기 위해 테스트로 핵심 에러 메시지를 뽑아보면 다음과 같다. java.lang.IllegalStateException: Failed to load ApplicationContext Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServi..