Skip to content

새 Ktor 프로젝트 생성, 열기 및 실행

이 튜토리얼에서는 첫 번째 Ktor 서버 프로젝트를 생성하고, 열고, 실행하는 방법을 배웁니다. 일단 프로젝트를 시작하고 나면, Ktor에 익숙해지기 위한 일련의 작업들을 시도해 볼 수 있습니다.

이 튜토리얼은 Ktor를 사용하여 서버 애플리케이션 구축을 시작하는 일련의 튜토리얼 중 첫 번째입니다. 각 튜토리얼을 개별적으로 진행할 수 있지만, 다음의 권장 순서를 따르시는 것을 강력히 추천합니다:

  1. 새 Ktor 프로젝트를 생성하고, 열고, 실행합니다.
  2. 요청 처리 및 응답 생성
    작업 관리자 애플리케이션을 구축하여 Ktor와 함께 Kotlin에서 라우팅, 요청 처리 및 매개변수의 기본 사항을 배웁니다.
    .
  3. JSON을 생성하는 RESTful API 생성
    Kotlin과 Ktor를 사용하여 백엔드 서비스를 구축하는 방법을 배우고, JSON 파일을 생성하는 RESTful API의 예시를 살펴봅니다.
    .
  4. Thymeleaf 템플릿을 사용하여 웹사이트 생성
    Ktor 및 Thymeleaf 템플릿으로 Kotlin에서 웹사이트를 구축하는 방법을 배웁니다.
    .
  5. WebSocket 애플리케이션 생성
    WebSocket의 강력한 기능을 활용하여 콘텐츠를 송수신하는 방법을 배웁니다.
    .
  6. Exposed와 데이터베이스 통합
    Exposed SQL 라이브러리를 사용하여 Ktor 서비스를 데이터베이스 리포지토리에 연결하는 과정을 배웁니다.
    .

새 Ktor 프로젝트 생성

새 Ktor 프로젝트를 생성하는 가장 빠른 방법 중 하나는 웹 기반 Ktor 프로젝트 생성기를 사용하는 것입니다.

또는 IntelliJ IDEA Ultimate용 전용 Ktor 플러그인 또는 Ktor CLI 도구를 사용하여 프로젝트를 생성할 수 있습니다.

Ktor 프로젝트 생성기 사용

Ktor 프로젝트 생성기로 새 프로젝트를 생성하려면 아래 단계를 따르세요:

  1. Ktor 프로젝트 생성기로 이동합니다.

  2. 프로젝트 아티팩트 필드에 com.example.ktor-sample-app을 프로젝트 아티팩트 이름으로 입력합니다. Ktor Project Generator with Project Artifact Name org.example.ktor-sample-app

  3. 구성을 클릭하여 설정 드롭다운 메뉴를 엽니다: expanded view of Ktor project settings

    다음 설정들을 사용할 수 있습니다:

    • 빌드 시스템 : 원하는

      빌드 시스템
      기존 Gradle/Maven 프로젝트에 Ktor 서버 종속성을 추가하는 방법을 배웁니다.
      을 선택합니다. 이는 Kotlin 또는 Groovy DSL을 사용하는 Gradle이거나 Maven일 수 있습니다.

    • Ktor 버전 : 필요한 Ktor 버전을 선택합니다.

    • 엔진 : 서버를 실행하는 데 사용되는

      엔진
      네트워크 요청을 처리하는 엔진에 대해 배웁니다.
      을 선택합니다.

    • 구성 :

      YAML 또는 HOCON 파일에서
      구성 파일에서 다양한 서버 매개변수를 구성하는 방법을 배웁니다.
      서버 매개변수를 지정할지, 아니면
      코드에서
      코드에서 다양한 서버 매개변수를 구성하는 방법을 배웁니다.
      지정할지 선택합니다.

    • 샘플 포함 : 플러그인용 샘플 코드를 추가하려면 이 옵션을 활성화된 상태로 둡니다.

    이 튜토리얼에서는 이 설정들의 기본값을 그대로 사용할 수 있습니다.

  4. 완료를 클릭하여 구성을 저장하고 메뉴를 닫습니다.

  5. 아래에서 프로젝트에 추가할 수 있는

    플러그인
    플러그인은 직렬화, 콘텐츠 인코딩, 압축 등과 같은 공통 기능을 제공합니다.
    세트를 찾을 수 있습니다. 플러그인은 Ktor 애플리케이션에서 인증, 직렬화 및 콘텐츠 인코딩, 압축, 쿠키 지원 등과 같은 공통 기능을 제공하는 구성 요소입니다.

    이 튜토리얼을 위해 이 단계에서는 플러그인을 추가할 필요가 없습니다.

  6. 다운로드 버튼을 클릭하여 Ktor 프로젝트를 생성하고 다운로드합니다. Ktor Project Generator download button

  7. 다운로드가 자동으로 시작됩니다.

새 프로젝트를 생성했으니 이제 Ktor 프로젝트 압축을 풀고 실행하는 과정을 계속 진행합니다.

IntelliJ IDEA Ultimate용 Ktor 플러그인 사용

이 섹션에서는 IntelliJ IDEA Ultimate용 Ktor 플러그인을 사용하여 프로젝트를 설정하는 방법을 설명합니다.

새 Ktor 프로젝트를 생성하려면 IntelliJ IDEA를 열고, 아래 단계를 따르세요:

  1. 환영 화면에서 새 프로젝트를 클릭합니다.

    그렇지 않으면, 메인 메뉴에서 파일 | 새로 만들기 | 프로젝트를 선택합니다.

  2. 새 프로젝트 마법사에서 왼쪽 목록에서 Ktor를 선택합니다.

  3. 오른쪽 창에서 다음 설정을 지정할 수 있습니다:

    Ktor Project Settings
    • 이름 : 프로젝트 이름을 지정합니다. ktor-sample-app을 프로젝트 이름으로 입력합니다.

    • 위치 : 프로젝트 디렉터리를 지정합니다.

    • 웹사이트 : 패키지 이름을 생성하는 데 사용될 도메인을 지정합니다.

    • 아티팩트 : 이 필드는 생성된 아티팩트 이름을 보여줍니다.

    • 엔진 : 서버를 실행하는 데 사용되는

      엔진
      네트워크 요청을 처리하는 엔진에 대해 배웁니다.
      을 선택합니다.

    • 샘플 포함 : 플러그인용 샘플 코드를 추가하려면 이 옵션을 활성화된 상태로 둡니다.

  4. 고급 설정을 클릭하여 추가 설정 메뉴를 확장합니다:

    Ktor Project Advanced Settings

    다음 설정들을 사용할 수 있습니다:

    • 빌드 시스템 : 원하는

      빌드 시스템
      기존 Gradle/Maven 프로젝트에 Ktor 서버 종속성을 추가하는 방법을 배웁니다.
      을 선택합니다. 이는 Kotlin 또는 Groovy DSL을 사용하는 Gradle이거나 Maven일 수 있습니다.

    • Ktor 버전 : 필요한 Ktor 버전을 선택합니다.

    • 구성 :

      YAML 또는 HOCON 파일에서
      구성 파일에서 다양한 서버 매개변수를 구성하는 방법을 배웁니다.
      서버 매개변수를 지정할지, 아니면
      코드에서
      코드에서 다양한 서버 매개변수를 구성하는 방법을 배웁니다.
      지정할지 선택합니다.

    이 튜토리얼을 위해 이 설정들의 기본값을 그대로 사용할 수 있습니다.

  5. 다음을 클릭하여 다음 페이지로 이동합니다.

    Ktor plugins

    이 페이지에서

    플러그인
    플러그인은 직렬화, 콘텐츠 인코딩, 압축 등과 같은 공통 기능을 제공합니다.
    세트를 선택할 수 있습니다. 플러그인은 Ktor 애플리케이션의 일반적인 기능(예: 인증, 직렬화 및 콘텐츠 인코딩, 압축, 쿠키 지원 등)을 제공하는 구성 요소입니다.

    이 튜토리얼을 위해 이 단계에서는 플러그인을 추가할 필요가 없습니다.

  6. 생성을 클릭하고 IntelliJ IDEA가 프로젝트를 생성하고 종속성을 설치할 때까지 기다립니다.

새 프로젝트를 생성했으니 이제 애플리케이션을 열고, 탐색하고, 실행하는 방법을 계속 배웁니다.

Ktor CLI 도구 사용

이 섹션에서는 Ktor CLI 도구를 사용하여 프로젝트를 설정하는 방법을 설명합니다.

새 Ktor 프로젝트를 생성하려면 원하는 터미널을 열고 다음 단계를 따르세요:

  1. 다음 명령 중 하나를 사용하여 Ktor CLI 도구를 설치합니다:
    console
    console
  2. 대화형 모드로 새 프로젝트를 생성하려면 다음 명령을 사용합니다:
    console
  3. ktor-sample-app을 프로젝트 이름으로 입력합니다: Using the Ktor CLI tool in interactive mode

    (선택 사항) 프로젝트 이름 아래 위치 경로를 편집하여 프로젝트가 저장될 위치를 변경할 수도 있습니다.

  4. 를 눌러 계속 진행합니다.
  5. 다음 단계에서 프로젝트에
    플러그인
    플러그인은 직렬화, 콘텐츠 인코딩, 압축 등과 같은 공통 기능을 제공합니다.
    을 검색하고 추가할 수 있습니다. 플러그인은 Ktor 애플리케이션에서 인증, 직렬화 및 콘텐츠 인코딩, 압축, 쿠키 지원 등과 같은 공통 기능을 제공하는 구성 요소입니다. Add plugins to a project using the Ktor CLI tool

    이 튜토리얼을 위해 이 단계에서는 플러그인을 추가할 필요가 없습니다.

  6. 를 눌러 프로젝트를 생성합니다.

    또는 프로젝트 생성 (CTRL+G)을 선택하고 를 눌러 프로젝트를 생성할 수 있습니다.

Ktor 프로젝트 압축 해제 및 실행

이 섹션에서는 명령줄에서 프로젝트를 압축 해제하고, 빌드하고, 실행하는 방법을 배웁니다. 아래 설명은 다음을 가정합니다:

  1. ktor-sample-app이라는 프로젝트를 생성하고 다운로드했습니다.
  2. 이 프로젝트가 홈 디렉터리의 myprojects라는 폴더에 있습니다.

필요한 경우, 사용자 설정에 맞게 이름과 경로를 변경하세요.

원하는 명령줄 도구를 열고 다음 단계를 따르세요:

  1. 터미널에서 프로젝트를 다운로드한 폴더로 이동합니다:

    console
  2. ZIP 아카이브를 동일한 이름의 폴더로 압축 해제합니다:

    console
    console

    이제 디렉터리에 ZIP 아카이브와 압축 해제된 폴더가 포함됩니다.

  3. 해당 디렉터리에서 새로 생성된 폴더로 이동합니다:

    console
  4. macOS/UNIX 시스템에서는 gradlew Gradle 헬퍼 스크립트를 실행 가능하게 만들어야 합니다. 이를 위해 chmod 명령어를 사용합니다:

    console
  5. 프로젝트를 빌드하려면 다음 명령어를 사용합니다:

    console
    console

    빌드가 성공했음을 확인하면 Gradle을 통해 프로젝트를 다시 실행할 수 있습니다.

  6. 프로젝트를 실행하려면 다음 명령어를 사용합니다:

    console
    console
  7. 프로젝트가 실행 중인지 확인하려면 출력에 언급된 URL(http://0.0.0.0:8080)로 브라우저를 엽니다. 화면에 "Hello World!" 메시지가 표시되어야 합니다:

    Output of generated ktor project

축하합니다! Ktor 프로젝트를 성공적으로 시작했습니다.

Ktor 애플리케이션 실행으로 인해 기본 프로세스가 사용 중이므로 명령줄이 응답하지 않을 수 있습니다. 를 눌러 애플리케이션을 종료할 수 있습니다.

IntelliJ IDEA에서 Ktor 프로젝트 열기, 탐색 및 실행

프로젝트 열기

IntelliJ IDEA가 설치되어 있다면 명령줄에서 프로젝트를 쉽게 열 수 있습니다.

프로젝트 폴더에 있는지 확인한 다음, 현재 폴더를 나타내는 마침표와 함께 idea 명령어를 입력합니다:

Bash

또는 수동으로 IntelliJ IDEA를 실행하여 프로젝트를 열 수 있습니다.

환영 화면이 열리면 열기를 클릭합니다. 그렇지 않으면 메인 메뉴에서 파일 | 열기로 이동하여 ktor-sample-app 폴더를 선택하여 엽니다.

TIP

프로젝트 관리에 대한 자세한 내용은 IntelliJ IDEA 문서를 참조하세요.

프로젝트 탐색

어떤 옵션을 선택하든 프로젝트는 아래와 같이 열립니다:

Generated Ktor project view in IDE

프로젝트 레이아웃을 설명하기 위해 프로젝트 뷰에서 구조를 확장하고 settings-gradle.kts 파일을 선택했습니다.

애플리케이션을 실행하는 코드는 src/main/kotlin 아래의 패키지에 있습니다. 기본 패키지는 com.example이며 plugins라는 하위 패키지를 포함합니다. 이 패키지들 안에 Application.ktRouting.kt라는 두 파일이 생성되었습니다.

Ktor project src folder structure

프로젝트 이름은 settings-gradle.kts에 구성되어 있습니다.

Contents of settings.gradle.kt

구성 파일 및 기타 종류의 콘텐츠는 src/main/resources 폴더 안에 있습니다.

Ktor project resources folder structure

src/test/kotlin 아래의 패키지에 스켈레톤 테스트가 생성되었습니다.

Ktor project test folder structure

프로젝트 실행

    IntelliJ IDEA 내에서 프로젝트를 실행하려면:

  1. 오른쪽 사이드바에서 Gradle 아이콘(intelliJ IDEA gradle icon)을 클릭하여 Gradle 도구 창을 엽니다.

    Gradle tab in IntelliJ IDEA
  2. 이 도구 창에서 작업 | 애플리케이션으로 이동하여 실행 작업을 두 번 클릭합니다.

    Gradle tab in IntelliJ IDEA
  3. Ktor 애플리케이션은 IDE 하단의 실행 도구 창에서 시작됩니다:

    Project running in terminal

    이전에 명령줄에 표시되었던 동일한 메시지가 이제 실행 도구 창에 표시됩니다.

  4. 프로젝트가 실행 중인지 확인하려면 지정된 URL (http://0.0.0.0:8080)로 브라우저를 엽니다.

    화면에 "Hello World!" 메시지가 다시 표시되어야 합니다:

    Hello World in Browser Screen

실행 도구 창을 통해 애플리케이션을 관리할 수 있습니다.

  1. 애플리케이션을 종료하려면 중지 버튼(intelliJ IDEA terminate icon)을 클릭합니다.
  2. 프로세스를 다시 시작하려면 다시 실행 버튼(intelliJ IDEA rerun icon)을 클릭합니다.

이러한 옵션은 IntelliJ IDEA 실행 도구 창 문서에서 자세히 설명합니다.

시도해 볼 추가 작업

다음은 시도해 볼 만한 추가 작업들입니다:

  1. 기본 포트 변경.
  2. YAML을 통해 포트 변경.
  3. 새 HTTP 엔드포인트 추가.
  4. 정적 콘텐츠 구성.
  5. 통합 테스트 작성.
  6. 오류 핸들러 등록.

이 작업들은 서로 의존하지 않지만, 점진적으로 복잡성이 증가합니다. 선언된 순서대로 시도하는 것이 점진적으로 학습하는 가장 쉬운 방법입니다. 단순화와 중복을 피하기 위해 아래 설명에서는 작업을 순서대로 시도한다고 가정합니다.

코딩이 필요한 경우 코드와 해당 임포트(imports)를 모두 지정했습니다. IDE가 이러한 임포트를 자동으로 추가해 줄 수 있습니다.

기본 포트 변경

프로젝트 뷰에서 src/main/kotlin 폴더로 이동한 다음 생성된 단일 패키지로 이동하여 다음 단계를 따릅니다:

  1. Application.kt 파일을 엽니다. 다음과 유사한 코드를 찾을 수 있습니다:

    kotlin
  2. embeddedServer() 함수에서 port 매개변수를 원하는 다른 숫자(예: "9292")로 변경합니다.

    kotlin
  3. 다시 실행 버튼(intelliJ IDEA rerun button icon)을 클릭하여 애플리케이션을 다시 시작합니다.

  4. 새 포트 번호로 애플리케이션이 실행 중인지 확인하려면 새 URL(http://0.0.0.0:9292)로 브라우저를 열거나, IntelliJ IDEA에서 새 HTTP 요청 파일(HTTP Request file)을 생성할 수 있습니다:

    Testing port change with an HTTP request file in IntelliJ IDEA

YAML을 통해 포트 변경

새 Ktor 프로젝트를 생성할 때 YAML 또는 HOCON 파일 중 하나에 외부적으로 구성을 저장할 수 있는 옵션이 있습니다:

Ktor project generator configuration options

만약 구성을 외부적으로 저장하도록 선택했다면, Application.kt의 코드는 다음과 같을 것입니다:

kotlin

이 값들은 src/main/resources/ 내의 구성 파일에 저장될 것입니다:

yaml
json

이 경우 포트 번호를 변경하기 위해 코드를 수정할 필요가 없습니다. YAML 또는 HOCON 파일의 값을 변경하고 애플리케이션을 다시 시작하기만 하면 됩니다. 변경 사항은 위 기본 포트 변경과 동일한 방식으로 확인할 수 있습니다.

새 HTTP 엔드포인트 추가

다음으로, GET 요청에 응답하는 새 HTTP 엔드포인트를 생성합니다.

프로젝트 도구 창에서 src/main/kotlin/com/example 폴더로 이동하여 다음 단계를 따릅니다:

  1. Application.kt 파일을 열고 configureRouting() 함수를 찾습니다.

  2. IntelliJ IDEA에서 함수 이름 위에 캐럿을 놓고 를 눌러 configureRouting() 함수로 이동합니다.

    또는 Routing.kt 파일을 열어 함수로 이동할 수 있습니다.

    다음은 표시되어야 할 코드입니다:

    Kotlin
  3. 새 엔드포인트를 생성하려면 아래에 표시된 추가 다섯 줄의 코드를 삽입합니다:

    kotlin

    참고로, /test1 URL은 원하는 대로 변경할 수 있습니다.

  4. ContentType을 사용하려면 다음 임포트(import)를 추가합니다:

    kotlin
  5. 다시 실행 버튼(intelliJ IDEA rerun button icon)을 클릭하여 애플리케이션을 다시 시작합니다.

  6. 브라우저에서 새 URL(http://0.0.0.0:9292/test1)을 요청합니다. 사용해야 할 포트 번호는 첫 번째 작업(기본 포트 변경)을 시도했는지 여부에 따라 달라집니다. 아래에 표시된 출력을 확인할 수 있습니다:

    A browser screen displaying Hello from Ktor

    HTTP 요청 파일(HTTP Request File)을 생성했다면 그곳에서도 새 엔드포인트를 확인할 수 있습니다:

    An HTTP request file in intelliJ IDEA

    참고로, 서로 다른 요청을 구분하려면 세 개의 해시(###)를 포함하는 줄이 필요합니다.

정적 콘텐츠 구성

프로젝트 도구 창에서 src/main/kotlin/com/example/plugins 폴더로 이동하여 다음 단계를 따릅니다:

  1. Routing.kt 파일을 엽니다.

    다시 한번, 이것이 기본 콘텐츠여야 합니다:

    kotlin

    이 작업을 위해서는 새 HTTP 엔드포인트 추가에 지정된 추가 엔드포인트에 대한 콘텐츠를 삽입했는지 여부는 중요하지 않습니다.

  2. 라우팅 섹션에 다음 줄을 추가합니다:

    kotlin

    이 줄의 의미는 다음과 같습니다:

    1. staticResources()를 호출하면 Ktor 애플리케이션이 HTML 및 JavaScript 파일과 같은 표준 웹사이트 콘텐츠를 제공할 수 있음을 Ktor에 알립니다. 이 콘텐츠가 브라우저 내에서 실행될 수 있지만, 서버 관점에서는 정적으로 간주됩니다.
    2. URL /content는 이 콘텐츠를 가져오는 데 사용될 경로를 지정합니다.
    3. 경로 mycontent는 정적 콘텐츠가 위치할 폴더의 이름입니다. Ktor는 resources 디렉터리 내에서 이 폴더를 찾을 것입니다.
  3. 다음 임포트(import)를 추가합니다:

    kotlin
  4. 프로젝트 도구 창에서 src/main/resources 폴더를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 | 디렉터리 를 선택합니다.

    또는 src/main/resources 폴더를 선택하고 을 누른 다음 디렉터리를 클릭합니다.

  5. 새 디렉터리 이름을 mycontent로 지정하고 를 누릅니다.

  6. 새로 생성된 폴더를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 | 파일을 클릭합니다.

  7. 새 파일 이름을 "sample.html"로 지정하고 를 누릅니다.

  8. 새로 생성된 파일 페이지에 유효한 HTML을 채웁니다(예시):

    html
  9. 다시 실행 버튼(intelliJ IDEA rerun button icon)을 클릭하여 애플리케이션을 다시 시작합니다.

  10. 브라우저에서 http://0.0.0.0:9292/content/sample.html을 열면 샘플 페이지의 내용이 표시되어야 합니다:

    Output of a static page in browser

통합 테스트 작성

Ktor는

통합 테스트 생성
특수 테스트 엔진을 사용하여 서버 애플리케이션을 테스트하는 방법을 배웁니다.
을 지원하며, 생성된 프로젝트에는 이 기능이 번들로 제공됩니다.

이 기능을 활용하려면 아래 단계를 따르세요:

  1. src 아래에 "test"라는 새 디렉터리를 만들고 그 아래에 "kotlin"이라는 하위 디렉터리를 만듭니다.

  2. src/test/kotlin 안에 "com.example"이라는 새 패키지를 생성합니다.

  3. src/test/kotlin/com.example 안에 "ApplicationTest.kt"라는 새 파일을 생성합니다.

  4. ApplicationTest.kt 파일을 열고 아래 코드를 추가합니다:

    kotlin

    testApplication() 메서드는 Ktor의 새 인스턴스를 생성합니다. 이 인스턴스는 Netty와 같은 서버와 달리 테스트 환경에서 실행됩니다.

    그런 다음 application() 메서드를 사용하여 embeddedServer()에서 호출되는 것과 동일한 설정을 호출할 수 있습니다.

    마지막으로, 내장된 client 객체와 JUnit 어설션(assertions)을 사용하여 샘플 요청을 보내고 응답을 확인할 수 있습니다.

  5. 다음 필수 임포트(imports)를 추가합니다:

    kotlin

테스트는 IntelliJ IDEA에서 테스트를 실행하는 모든 표준 방식으로 실행할 수 있습니다. Ktor의 새 인스턴스를 실행하고 있으므로 테스트의 성공 또는 실패는 애플리케이션이 0.0.0.0에서 실행 중인지 여부에 따라 달라지지 않습니다.

새 HTTP 엔드포인트 추가를 성공적으로 완료했다면 다음 추가 테스트를 추가할 수 있습니다:

Kotlin

다음 추가 임포트(import)가 필요합니다:

Kotlin

오류 핸들러 등록

Ktor 애플리케이션에서 오류를 처리하려면

StatusPages 플러그인
%plugin_name%는 Ktor 애플리케이션이 발생한 예외 또는 상태 코드에 따라 모든 실패 상태에 적절하게 응답할 수 있도록 합니다.
을 사용할 수 있습니다.

이 플러그인은 기본적으로 프로젝트에 포함되어 있지 않습니다. Ktor 프로젝트 생성기의 플러그인 섹션 또는 IntelliJ IDEA의 프로젝트 마법사를 통해 프로젝트에 추가할 수 있습니다. 이미 프로젝트를 생성했으므로, 다음 단계에서는 플러그인을 수동으로 추가하고 구성하는 방법을 배울 것입니다.

이를 달성하기 위한 네 가지 단계가 있습니다:

  1. Gradle 빌드 파일에 새 종속성 추가.
  2. 플러그인 설치 및 예외 핸들러 지정.
  3. 핸들러를 트리거할 샘플 코드 작성.
  4. 샘플 코드 다시 시작 및 호출.

    프로젝트 도구 창에서 프로젝트 루트 폴더로 이동하여 다음 단계를 따릅니다:

  1. build.gradle.kts 파일을 엽니다.

  2. 종속성 섹션에 아래와 같이 추가 종속성을 추가합니다:

    kotlin

    이 작업을 완료하면 이 새 종속성을 적용하기 위해 프로젝트를 다시 로드해야 합니다.

  3. macOS에서는 , Windows에서는 를 눌러 프로젝트를 다시 로드합니다.

  1. Routing.kt 파일의 configureRouting() 메서드로 이동하여 다음 코드 줄을 추가합니다:

    kotlin

    이 줄들은 StatusPages 플러그인을 설치하고 IllegalStateException 유형의 예외가 발생했을 때 취할 동작을 지정합니다.

  2. 다음 임포트(import)를 추가합니다:

    kotlin

HTTP 오류 코드는 일반적으로 응답에 설정되지만, 이 작업의 목적을 위해 출력은 브라우저에 직접 표시됩니다.

  1. configureRouting() 메서드 내에 다음 추가 줄을 아래와 같이 추가합니다:

    kotlin

    이제 URL /error-test를 가진 엔드포인트를 추가했습니다. 이 엔드포인트가 트리거되면 핸들러에 사용된 유형의 예외가 발생할 것입니다.

  1. 다시 실행 버튼(intelliJ IDEA rerun button icon)을 클릭하여 애플리케이션을 다시 시작합니다.

  2. 브라우저에서 URL http://0.0.0.0:9292/error-test로 이동합니다. 아래와 같이 오류 메시지가 표시되어야 합니다:

    A browser screen with message `App in illegal state as Too Busy`

다음 단계

추가 작업의 끝까지 완료했다면, 이제 Ktor 서버 구성, Ktor 플러그인 통합, 새 경로 구현에 대한 이해를 갖추게 됩니다. 그러나 이것은 시작에 불과합니다. Ktor의 기본 개념을 더 깊이 탐구하려면 이 가이드의 다음 튜토리얼을 계속 진행하세요.

다음으로,

작업 관리자 애플리케이션을 생성하여 요청을 처리하고 응답을 생성하는
작업 관리자 애플리케이션을 구축하여 Ktor와 함께 Kotlin에서 라우팅, 요청 처리 및 매개변수의 기본 사항을 배웁니다.
방법을 배우게 됩니다.