본문 바로가기
  • 개발하는 곰돌이

spring boot32

[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.
[Oracle] Spring Boot 프로젝트에서 Mybatis 세팅하기 with Kotlin 목차 기본 환경 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을 적용하는 방법은 아래 포스트를 참고하면 된다. 2022.12.06 - [Spring Boot] - Kotlin 기반 Spring Boot 프로젝트에 Swagger 3.0.0 적용하기 Mybatis는 무엇인가? Mybatis는 Java에서 관계형 데이터베이스를 사용하는 개발을 더욱 수월하게 해주는 프레임워크로, 기존의 JDBC를 사용한 코드를 별도의 XML 파일로 분리하여 자바 코드상의 SQL을 모두 제거하고 관리를 편하게 해준다는 장점을 갖는다... 2022. 12. 20.
[Spring Boot] Kotlin 기반 Spring Boot 프로젝트에 Swagger 3.0.0 적용하기 본 포스트에서 사용하는 Springfox는 2020년 7월 이후로 릴리즈가 중단되었습니다. 현재도 지속적으로 릴리즈 중이면서 Swagger UI를 사용할 수 있는 또 다른 라이브러리인 Springdoc을 사용하는 방법은 이 링크를 참고해주세요. 목차 기본 환경 IntelliJ Ultimate 2022.3 Spring Boot 2.7.6 Kotlin 1.7.21(JDK 11) Springfox Swagger UI 3.0.0 Swagger란? Swagger는 개발자가 REST API를 설계, 빌드, 테스트, 문서화를 쉽게 할 수 있도록 도와주는 오픈 소스 프레임워크이다. Swagger를 사용하면 따로 Postman을 사용하지 않거나 테스트 페이지를 만들지 않고도 직접 파라미터를 입력하면서 개발한 API를 간.. 2022. 12. 6.
[IntelliJ] Spring Boot 프로젝트의 기본 설정 및 첫 페이지 만들기 목차 Spring Boot 기본 설정 Spring Boot의 기본 설정들은 src/main/resources/application.properties 에서 설정할 수 있다. 최초 프로젝트를 생성한 이후에는 다음과 같이 텅 빈 파일만 있을 것이다. 예를 들어 서버 포트를 변경하고자 할 때는 server.port를 입력하고 사용하고자 하는 포트 번호를 입력하면 된다.(default값은 8080) 예를 들어, 포트를 11111로 변경하면 아래와 같이 11111번 포트로 접속해야 정상적으로 접속할 수 있고 기존의 8080번 포트로는 접속이 불가능해진다. 이외에도 DB 관련 설정이나 mapper 경로 설정을 포함한 각종 Spring 설정들을 본 파일에서 설정할 수 있다. Gradle에 의존성 추가 처음 Sprin.. 2022. 12. 5.
[IntelliJ] Kotlin 기반의 Spring Boot 프로젝트 생성 목차 Spring Boot 프로젝트 생성 IntelliJ Ultimate 버전에서는 Spring Initializr를 통해 손쉽게 SpringBoot 프로젝트를 생성할 수 있다. IntelliJ를 통하지 않고 Spring에서 직접 운영하는 SpringBoot 생성 사이트가 있다. 하지만 기본적으로 IntelliJ에서 생성하는 SpringBoot 프로젝트가 해당 사이트를 통해 프로젝트를 생성하는 것이기 때문에 두 방법 사이의 큰 차이는 없다. IntelliJ를 통한 Spring Boot 프로젝트 생성 상단 메뉴의 File → New → Project를 선택한 후 좌측에서 Spring Initializr를 선택하면 아래와 같은 창이 나온다. Name : 프로젝트의 이름을 입력 Location : 프로젝트의 .. 2022. 11. 30.