Development54 [JUnit5] DB호출 테스트 중 발생한 No ParameterResolver registered for parameter in constructor 에러 해결 에러 발생 배경 JUnit5로 DB 호출 테스트를 하는 도중에 다음과 같은 에러가 발생했다. No ParameterResolver registered for parameter [com.settlement.mapper.TestMapper testMapper] in constructor [public com.settlement.controller.TestController(com.settlement.mapper.TestMapper)]. org.junit.jupiter.api.extension.ParameterResolutionException: No ParameterResolver registered for parameter [com.settlement.mapper.TestMapper testMapper] .. 2023. 1. 11. [Spring Boot] application.properties와 application.yml의 차이점 목차개요Spring Boot 프로젝트에서는 일반적으로 프로젝트의 각종 설정을 application.properties 또는 application.yml 파일을 통해 하게된다. 기본적으로 Spring Initializr를 통해 Spring Boot 프로젝트를 생성하면 application.properties가 생성되지만, Spring Boot 설정을 위해 구글링을 하다 보면 application.yml에 대한 내용이 상당히 많이 나온다. 따라서, application.properties와 application.yml의 차이를 정리하려고 한다.properties와 yml의 차이점properties와 yml의 대표적인 차이는 내부 구조가 있다. properties의 경우엔 각 줄마다 key=value의 형태로.. 2023. 1. 4. [Oracle Cloud] 오라클 클라우드 VM 인스턴스 생성 및 원격 접속 목차 클라우드 컴퓨팅 서비스를 사용해야겠다고 생각하게 된 계기 여러가지 프로젝트를 진행하다보면 팀을 이뤄서 진행하거나 다른 컴퓨터를 사용하여 프로젝트를 진행하는 경우가 필연적으로 생길 수밖에 없다. 이 때 진행하는 프로젝트가 DB에 연동하는 프로젝트인 경우에는 팀원들마다 혹은 작업하는 컴퓨터마다 따로 DB를 설치하여 세팅해야하고, 테스트 데이터를 추가하거나 수정할 때마다 매번 동기화를 시켜줘야 하는 번거로움이 있었다. 그렇다고 하나의 컴퓨터에 DB 서버를 설치하여 접속하기에는 회사에서 진행하는 프로젝트가 아닌, 소규모 프로젝트의 경우엔 서버 컴퓨터가 계속 켜져있어야 한다는 현실적인 문제도 있다. 이러한 문제 때문에 좋은 방법이 없을까 찾게 되었고 그렇게 찾게 된 방법이 클라우드 컴퓨팅 서비스를 사용하는 .. 2023. 1. 2. [SSL] 외부 API 호출 중 발생한 unable to find valid certification path to requested target 에러 해결 에러 발생 배경 프로젝트 진행 중 외부 API를 호출하여 받아온 결과값을 가공해야할 일이 생겼다. 그래서 WebClient를 사용하여 외부 API를 호출하고 가공하여 진행하려고 했는데 다음과 같은 에러가 발생했다. PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuil.. 2023. 1. 2. [Spring Boot] Scheduler를 사용하여 정해진 시간마다 메소드 실행시키기 목차 기본 환경 IntelliJ Ultimate 2022.3 Spring Boot 2.7.6 Kotlin 1.7.21(JDK 11) MySQL 8 Swagger 3.0.0 MyBaitis 2.3.0 Spring Boot 프로젝트에 Swagger 3.0.0을 적용하는 방법, MyBatis 설정 방법은 아래 포스트를 참고하면 된다. [Spring Boot] Kotlin 기반 Spring Boot 프로젝트에 Swagger 3.0.0 적용하기 [Oracle] Spring Boot 프로젝트에서 Mybatis 세팅하기 with Kotlin 개요 프로젝트를 진행하다보면 정해진 시간마다 특정 동작을 수행해야할 때가 있다. 이 때 Spring Boot에서 제공하는 Scheduler를 사용하면 손쉽게 정해진 시간에 특정 .. 2022. 12. 30. [Swagger] 스웨거 페이지 접속 시 Failed to load API definition. 에러 해결 API 테스트를 위해 스웨거를 이용하던 중에 위와 같은 에러가 뜨면서 인덱스 페이지에 접속되지 않는 문제가 발생했다. Fetch error undefined http://localhost:8080/v2/api-docs라는데 /v2/api-docs가 정의되지 않아서 불러올 수 없다고 한다. 실제로 해당 url로 접속해보면 에러 페이지가 반겨주는 것을 볼 수 있다. NPE가 떴는데 파라미터의 설정값 중에 null있다는 것 같다. 이랬던 파라미터 설정을 이렇게 paramType에 query를 설정해줬다. 정상적으로 실행된다. 2022. 12. 29. [Spring Boot] Kotlin 기반 Spring Boot 프로젝트에서 파일 업로드하기 목차 기본 환경 IntelliJ Ultimate 2022.3 Spring Boot 2.7.6 Kotlin 1.7.21(JDK 11) Oracle 11g Swagger 3.0.0 mybaitis 2.3.0 Spring Boot 프로젝트에 Swagger 3.0.0을 적용하는 방법은 아래 포스트를 참고하면 된다. [Spring Boot] Kotlin 기반 Spring Boot 프로젝트에 Swagger 3.0.0 적용하기 개요 예제로 블로그에 글을 작성할 때 제목과 내용, 카테고리 일련번호와 파일 하나를 업로드하여 작성하는 API를 구현한다. Swagger를 통해 테스트하기 때문에 별도의 화면은 구성하지 않는다. Domain 블로그의 글과 관련된 BoardDTO를 작성한다. data class BoardDTO(.. 2022. 12. 23. [Spring Boot] Swagger를 적용했을 때 리다이렉트 에러가 발생하는 경우(javax.servlet.ServletException) Swagger2를 사용할 땐 컨트롤러의 메소드에서 "redirect:/swagger-ui.html"를 반환하여 Swagger 문서로 리다이렉트 해도 아무 문제가 없었는데 Swagger3을 사용하니 같은 방법을 썼을 때 javax.servlet.ServletException: Could not resolve view with name 'redirect:/swagger-ui/index.html' in servlet with name 'dispatcherServlet'라는 에러가 발생했다. 대충 요약하자면 redirect:/swagger-ui/index.html라는 서블릿이 없다는거다. 구글링을 해보니 Swagger 설정을 하는 Config 클래스에 다음 코드를 추가하면 된다고 한다. // Kotlin @Be.. 2022. 12. 22. 이전 1 ··· 3 4 5 6 7 다음