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

Development48

[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] 코드 에디터에 나오는 Usages, Code author 등의 힌트 위치 변경 IntelliJ로 코딩을 하다보면 이와 같은 usages, code author, related problems 힌트가 나타난다. 클래스나 메소드가 얼마나 사용되고 있는지, 누가 작성했는지, 연관된 오류가 몇개인지를 바로 알려주는 등 굉장히 유용한 기능이긴 하지만 이 힌트들이 줄을 차지하는 것처럼 보여서 코딩을 할 때 방해될 수 있으니 위치를 옮겨보자. 3개의 힌트 중 아무 힌트나 우클릭을 하면 메뉴가 나타나는데 Configure...를 클릭하여 설정창을 연다. 설정창을 보면 오른쪽에서 Potiosion을 설정할 수 있다. Default로 설정된 이 값을 Right로 변경한다. 같은 방법으로 Related problems, Usages, Code author 모두 변경하고 OK 버튼을 클릭한다. 한 줄을.. 2022. 12. 1.
[IntelliJ] 유용한 플러그인들 목차 CodeGlance Pro CodeGlance Pro - IntelliJ IDEs Plugin | Marketplace IntelliJ plugin that displays a zoomed out overview or minimap similar to the one found in Sublime into the editor pane. plugins.jetbrains.com VS Code처럼 스크롤바 옆에 현재 파일의 코드를 작게 보여준다. GitToolBox GitToolBox - IntelliJ IDEs Plugin | Marketplace Extends Git Integration with additional features. plugins.jetbrains.com 프로젝트가 Git에 연동되어 .. 2022. 11. 30.
[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.