# Ktor

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com.cn/help/idea/llms.txt).

> **TL;DR**
> 必需插件：   Kotlin  （捆绑）、   Ktor  （捆绑）

[Ktor](https://ktor.io/) 是一个用于创建连接系统的 Web 应用程序框架。 您可以使用它来创建服务器端和客户端应用程序。 它支持多个平台，包括 JVM、JavaScript 和 Kotlin/Native。

IntelliJ IDEA 提供以下功能以处理 Ktor 项目：

* 一个用于 [创建新项目](#new_ktor_project)的向导。

* 专门用于运行和调试 Ktor 项目的运行配置。

* [在项目内](#navigation)穿梭于不同路径之间。

* [生成](#generate) 路由的测试并为 Ktor 插件添加示例代码。

* [代码编辑](#edit) 支持，包括自动补全和重命名路由名称。

* 生成 [OpenAPI](#openapi) 规范。

* 将 [项目迁移](#migrate)到最新的 Ktor 版本。

Procedure: 启用 Ktor 插件

此功能性依赖于 [Ktor](https://plugins.jetbrains.com/plugin/16008-ktor) 插件，该插件在 IntelliJ IDEA 中默认捆绑并启用。 如果相关功能不可用，请确保您没有禁用插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  Ktor  插件并点击   启用  。

## 创建一个新的 Ktor 项目

Procedure:

1. 在欢迎屏幕上，点击   新建项目  。

否则，请在主菜单中转到  `文件 | 新建 | 项目` 。

2. 在   新建项目  向导中，从左侧列表中选择   Ktor  。

3. 在右侧窗格中，您可以指定以下设置：

![Ktor 项目设置](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_new_project_settings.png)

* 名称 ：请指定项目名称。

* 位置 ：指定项目的目录。

* 构建系统 ：选择所需的 [构建系统](https://ktor.io/docs/server-dependencies.html)。 这可以是 Gradle 使用 Kotlin 或 Groovy DSL，或 Maven 。

* 网站 ：指定用于生成包名称的域。

* 工件 ：此字段显示生成的制品名称。

* Ktor 版本 ：选择所需的 Ktor 版本。

* 引擎 ：选择用于运行服务器的 [engine](https://ktor.io/docs/engines.html)。

* 配置在 ：选择是否 [在代码、HOCON 或 Yaml 文件中](https://ktor.io/docs/create-server.html) 指定服务器参数。

* 添加示例代码 ：使用此选项添加插件的示例代码，这些代码将添加到下一页。 > **Tip:** > 您还可以使用 [completion popup](#generate-plugin-code) 为现有项目生成插件代码。

4. 在下一页，您可以选择一组 [插件](https://ktor.io/docs/plugins.html)——提供 Ktor 应用程序常见功能的构建模块，如身份验证、序列化和内容编码、压缩、cookie 支持等。

![Ktor 插件](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_new_project_plugins_list.png)

点击   创建   并等待 IntelliJ IDEA 生成项目并安装依赖项。

## 运行 Ktor 应用程序

您可以通过以下方式之一运行服务器 Ktor 应用程序：

* 在 [间距图标](create-your-first-kotlin-app.html#run-code-from-idea) 旁边使用 `main` 功能。

* 使用相应的 [Gradle](work-with-gradle-tasks.html) 任务或 [Maven](work-with-maven-goals.html) 目标。

* 使用专用的 Ktor 运行配置。 > **Tip:** > 要为新建或导入的 Ktor 项目自动创建 Ktor 运行配置，请在 `设置 | 语言与框架 | Ktor` 页面上使用 自动创建运行配置 选项。

要从编辑器运行应用程序，请按照以下步骤操作：

Procedure:

1. 点击  `main`  函数旁边的边框图标，然后选择   运行 'ApplicationKt'  。

![运行 Ktor 应用程序](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_new_project_run_gutter.png)

2. 请等待 IntelliJ IDEA 运行该应用程序。 运行工具窗口应显示以下消息：

```
INFO  ktor.application - Responding at http://0.0.0.0:8080

```

![运行工具窗口](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_new_project_run_tool_window.png)

这意味着服务器已准备好接受  `http://0.0.0.0:8080`  地址的请求。

> **Tip:**
> 您可以从 [运行](https://ktor.io/docs/running.html)主题中了解运行服务器 Ktor 应用程序的具体信息。

## 导航

Procedure: 在 Search Everywhere 中查找路线

要使用 [Search everywhere](searching-everywhere.html)在您的应用程序中查找特定路线，请按照以下步骤操作：

1. 连续按两次 `Shift` (Windows), `Shift` (macOS), `Shift` (IntelliJ IDEA Classic (macOS)), `Shift` (macOS System Shortcuts), `Shift` (XWin), `Shift` (GNOME), `Shift` (KDE), `Shift` (Emacs), `Shift` (Sublime Text), `Shift` (Sublime Text (macOS)), `Shift` (Visual Studio), `Shift` (Visual Studio (macOS)), `Shift` (NetBeans), `Shift` (Eclipse), `Shift` (Eclipse (macOS)) 打开搜索窗口。

2. 开始输入路线名称。

![随处搜索](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_search_everywhere.png)

要缩小您的搜索范围，请点击窗口工具栏上的   过滤器  图标 ![过滤器](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.expui.general.filter.svg)，然后选择  URLs 。

Procedure: 在路由及其用法之间导航

要在项目中导航到路线及其用法，请执行以下操作之一：

* 请将文本光标放在所需的路径或 URL，然后按 `Ctrl+B` (Windows), `⌘ B` (macOS), `⌘ B` (IntelliJ IDEA Classic (macOS)), `⌘ B` (macOS System Shortcuts), `Ctrl+B` (XWin), `Ctrl+B` (GNOME), `Ctrl+B` (KDE), `Ctrl+Alt+G` (Emacs), `F12` (Sublime Text), `F12` (Sublime Text (macOS)), `F12` (Visual Studio), `F12` (Visual Studio (macOS)), `Ctrl+B` (NetBeans), `F3` (Eclipse), `F3` (Eclipse (macOS))。

* 按住 `Ctrl` (Windows), `Ctrl` (macOS), `Ctrl` (IntelliJ IDEA Classic (macOS)), `Ctrl` (macOS System Shortcuts), `Ctrl` (XWin), `Ctrl` (GNOME), `Ctrl` (KDE), `Ctrl` (Emacs), `Ctrl` (Sublime Text), `Ctrl` (Sublime Text (macOS)), `Ctrl` (Visual Studio), `Ctrl` (Visual Studio (macOS)), `Ctrl` (NetBeans), `Ctrl` (Eclipse), `Ctrl` (Eclipse (macOS)) 并悬停在路径或 URL 上。 当一个 URL 变成超链接时，按住键点击它。

* 点击路径或 URL 旁边的 ![地球仪](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.inlayGlobe.svg) 图标，并从弹出窗口中选择   转到声明或用法  。

IntelliJ IDEA 将显示相关路径/URL：

![查找用法](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_find_usages.png)

Procedure: 在 Endpoints 工具窗口中显示路径

要查看在您的 Ktor 应用程序中定义的所有 HTTP 或 WebSocket 端点，请使用 [Endpoints](endpoints-tool-window.html) 工具窗口：

1. 点击路径旁边的 ![地球仪](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.inlayGlobe.svg) 图标，并在弹出窗口中选择   显示模块的所有端点  。

![显示终端](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_endpoints_show.png)

2. 在调用的 Endpoints 工具窗口中，您可以看到应用程序中定义的所有路由。

![Ktor 端点](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_endpoints.png)

如果 Ktor 服务器正在 [运行](#run_ktor_app)，您可以使用 [HTTP 客户端](#http_editor) 发送请求来立即查看响应或在编辑器中打开它。

![Ktor 端点 HTTP 客户端](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_endpoints_http_client.png)

在   OpenAPI规范  选项卡上，您可以看到此路线的 [OpenAPI 规范](#openapi)。

## 生成代码

Procedure: 为插件生成代码

IntelliJ IDEA 允许您使用 [代码补全弹出窗口](auto-completing-code.html) 为 Ktor 插件生成代码：

1. 请将文本光标放在 [模块](https://ktor.io/docs/modules.html)内，开始输入  `install` ，然后从列表中选择必需插件。

![安装插件](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_plugin_completion_list.png)

2. 按下 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。 IntelliJ IDEA 为所选插件生成代码并将所需依赖项添加到构建脚本中。

![为插件生成的代码](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_plugin_generate_code.png)

> **Tip:**
> IntelliJ IDEA 还允许您在使用 [创建新项目](#new_ktor_project)时，通过   添加示例代码  选项生成插件代码。

Procedure: 生成 HttpClient

IntelliJ IDEA 提供了快速将 [HttpClient](https://ktor.io/docs/create-client.html)添加到项目中的功能：

* 开始输入  ktor-client ，从列表中选择此操作，然后按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

![添加 HttpClient](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_client_macros.png)

IntelliJ IDEA 会创建  `HttpClient`  实例并将所需的客户端依赖项添加到构建脚本中。

Procedure: 创建测试

IntelliJ IDEA 允许您为模块、路由组或单个路由生成测试。 此功能支持 HTTP 和 WebSocket 端点。 要生成测试，请按以下步骤操作：

1. 将文本光标放置在所需的模块或路由处，按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))，然后选择以下操作之一：

* 为 Ktor 模块创建测试

* 为 Ktor 路由创建测试

* 为 Ktor 路由创建测试

模块:

![为路由生成测试](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_generate_test_module.png)

多条路线:

![为路由生成测试](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_generate_test_routes.png)

单一路由:

![为路由生成测试](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_generate_test.png)

2. 在调用的对话框中，您可以指定测试类名称、选择所需的路由并编辑各个测试名称。

![生成测试](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_create_test_module_dialog.png)

点击   OK  。

3. IntelliJ IDEA 将创建一个包含所选路由测试请求的测试类。

![生成测试](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_empty_test.png)

您可以从 [测试](https://ktor.io/docs/testing.html)中学习如何测试 Ktor 服务器。

> **Tip:**
> 请注意，IntelliJ IDEA 生成 Ktor 测试使用专用的 [代码模板](using-file-and-code-templates.html)，可在  `设置 | 编辑器 | 文件和代码模板` 页面（   代码  标签页）找到。

## 编辑代码

Procedure: 完成路线名称

IntelliJ IDEA 允许您 [补全](auto-completing-code.html)路由名称：

* 将文本光标放在接受 URL 的参数处并按下 `Ctrl+Space` (Windows), `⌃ Space` (macOS), `⌃ Space` (IntelliJ IDEA Classic (macOS)), `⌃ Space` (macOS System Shortcuts), `Ctrl+Space` (XWin), `Ctrl+Space` (GNOME), `Ctrl+Space` (KDE), `Alt+/` (Emacs), `Ctrl+Space` (Sublime Text), `⌃ Space` (Sublime Text (macOS)), `Ctrl+Space` (Visual Studio), `⌃ Space` (Visual Studio (macOS)), `Ctrl+Space` (NetBeans), `Ctrl+Space` (Eclipse), `⌃ Space` (Eclipse (macOS))。 编辑器将向您显示可用路径。

![补全路由名称](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_route_completion.png)

Procedure: 完整配置属性

如果您的项目将配置存储在 [YAML file](https://ktor.io/docs/configuration-file.html) 中，您可以使用 [autocompletion](auto-completing-code.html) 来自动完成属性名称：

* 在配置文件中的任何位置放置文本光标，然后按 `Ctrl+Space` (Windows), `⌃ Space` (macOS), `⌃ Space` (IntelliJ IDEA Classic (macOS)), `⌃ Space` (macOS System Shortcuts), `Ctrl+Space` (XWin), `Ctrl+Space` (GNOME), `Ctrl+Space` (KDE), `Alt+/` (Emacs), `Ctrl+Space` (Sublime Text), `⌃ Space` (Sublime Text (macOS)), `Ctrl+Space` (Visual Studio), `⌃ Space` (Visual Studio (macOS)), `Ctrl+Space` (NetBeans), `Ctrl+Space` (Eclipse), `⌃ Space` (Eclipse (macOS))。 编辑器会向您显示此组的所有可用配置属性。

![补全路由名称](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_config_completion.png)

Procedure: 重命名路由

在 IntelliJ IDEA 中，您可以使用 [重命名重构](rename-refactorings.html)来重命名路由：

1. 请将文本光标置于 route 名称处，然后按 `Shift+F6` (Windows), `⇧ F6` (macOS), `⇧ F6` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ R` (macOS System Shortcuts), `Shift+F6` (XWin), `Shift+F6` (GNOME), `Shift+F6` (KDE), `Shift+F6` (Emacs), `Shift+F6` (Sublime Text), `⇧ F6` (Sublime Text (macOS)), `Ctrl+R, R` (Visual Studio), `⌘ R, R` (Visual Studio (macOS)), `Ctrl+R` (NetBeans), `Alt+Shift+R` (Eclipse), `⇧ F6` (Eclipse (macOS))。

2. 指定一个新的路由名称，然后点击   重构  。

![重命名路线](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_route_rename.png)

Procedure: 提取应用模块

若要将放置在 [embeddedServer](https://ktor.io/docs/create-server.html)中的代码提取到一个独立的应用程序模块，请按照以下步骤操作：

1. 将文本光标放置在  `embeddedServer` 函数调用处并按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))。

2. 选择   从当前的 embeddedServer 块中提取应用程序模块  并按下 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

3. 在弹出的对话框中，指定一个模块名称，然后点击   提取  。 IntelliJ IDEA 会在  `应用程序`  类上创建一个扩展函数，并将此函数的引用作为  `模块`  参数传递，例如：

之前:

```KOTLIN
fun main() {
    embeddedServer(Netty, port = 8080) {
        routing {
            get("/") {
                call.respondText("Hello, world!")
            }
        }
    }.start(wait = true)
}

```

之后:

```KOTLIN
fun main() {
    embeddedServer(Netty, port = 8080, module = Application::module).start(wait = true)
}

fun Application.module() {
    routing {
        get("/") {
            call.respondText("Hello, world!")
        }
    }
}

```

## OpenAPI规范

OpenAPI 规范 (OAS) 是 REST API 的描述格式。 Ktor 插件提供了为服务器端 Ktor 应用生成 OpenAPI 文档的功能。 插件为使用 [字符串路径模式](https://ktor.io/docs/routing-in-ktor.html#match_url) 或 [类型安全](https://ktor.io/docs/type-safe-routing.html) 路由定义的所有应用程序端点生成   [路径](https://swagger.io/docs/specification/paths-and-operations/)  。 为了生成更好的 OpenAPI 文档，该插件会分析服务器应用程序中端点的代码，例如：

* [路径](https://ktor.io/docs/requests.html#path_parameters) 和 [查询](https://ktor.io/docs/requests.html#query_parameters) 请求参数用于在考虑参数类型的情况下生成 [参数](https://swagger.io/docs/specification/describing-parameters/) 。

* 响应 [状态](https://ktor.io/docs/responses.html#status)、 [内容类型](https://ktor.io/docs/responses.html#content-type)和 [头信息](https://ktor.io/docs/responses.html#headers)用于描述 [响应](https://swagger.io/docs/specification/describing-responses/) 。

* [响应体](https://ktor.io/docs/responses.html#payload) 处理程序用于生成 OpenAPI 架构 ，如果可能，还会生成 示例 。 对于 [对象响应](https://ktor.io/docs/serialization.html)，插件将在 [组件](https://swagger.io/docs/specification/components/) 部分生成相应的定义。

* 特定路由的文档注释用作端点 描述 。

Procedure: 生成 OpenAPI 规范

要为 Ktor 应用程序生成 OpenAPI 规范，请按照以下步骤操作：

1. 将文本光标放置在 [embeddedServer](https://ktor.io/docs/create-server.html#embedded-server)函数调用处，然后按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))。

2. 从弹出窗口中选择   为当前模块生成 OpenAPI 文档   然后按下 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

![生成 OpenAPI 文档](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_generate_openapi_intention.png)

> **Tip:**
> 作为替代方案，按 `Ctrl+Shift+A` (Windows), `⌘ ⇧ A` (macOS), `⌘ ⇧ A` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ P` (macOS System Shortcuts), `Ctrl+Shift+A` (XWin), `Ctrl+Shift+A` (GNOME), `Ctrl+Shift+A` (KDE), `Escape, X` (Emacs), `Ctrl+Shift+P` (Sublime Text), `⌘ ⇧ P` (Sublime Text (macOS)), `Ctrl+Shift+A` (Visual Studio), `⌘ ⇧ A` (Visual Studio (macOS)), `Ctrl+I` (NetBeans), `Ctrl+Shift+A` (Eclipse), `⌘ 3` (Eclipse (macOS))，开始输入  生成 OpenAPI 文档 ，选择相应的操作，然后按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

3. 请等待 IntelliJ IDEA 通过以下路径在应用资源中生成 OpenAPI 规范：  `resources/openapi/documentation.yaml` 。

![OpenAPI 文档](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_openapi.png)

> **Tip:**
> 请注意，IntelliJ IDEA 可以在重新导入现有的 Ktor 项目时自动更新 OpenAPI 规范。 您可以在  `设置 | 语言与框架 | Ktor`  页面启用此功能。

Procedure: 预览 OpenAPI并测试您的应用程序

您可以按照 [预览 OpenAPI 规范](openapi.html#preview-api) 中所述使用集成的 Swagger UI 预览 OpenAPI 规范。 生成的 Swagger UI 可用于按以下方式测试您的应用程序端点：

1. [运行应用程序](#run_ktor_app)。

2. 在预览中展开所需的端点并发出请求。

> **Tip:**
> 为了确保您的 API 能够很好地与 Swagger UI 配合使用，您需要使用 [CORS](https://ktor.io/docs/cors.html#hosts) 插件设置一个跨域资源共享策略。

## 在 HTTP 编辑器中测试端点

IntelliJ IDEA 允许您使用 [代码编辑器中的 HTTP 客户端](http-client-in-product-code-editor.html)测试 HTTP 和 WebSocket 端点：

Procedure:

1. 将文本光标置于所需路径，按 `Alt+Enter` (Windows), `⌥ ⏎` (macOS), `⌥ ⏎` (IntelliJ IDEA Classic (macOS)), `⌥ ⏎` (macOS System Shortcuts), `Alt+Enter` (XWin), `Alt+Enter` (GNOME), `Alt+Enter` (KDE), `Alt+Enter` (Emacs), `Alt+Enter` (Sublime Text), `⌥ ⏎` (Sublime Text (macOS)), `Alt+Enter` (Visual Studio), `⌥ ⏎` (Visual Studio (macOS)), `Alt+Enter` (NetBeans), `Ctrl+1` (Eclipse), `⌘ 1` (Eclipse (macOS))，然后选择   在 HTTP 客户端中生成请求  。

![生成请求](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_generate_request.png)

2. 在已打开的文件中，调整请求参数。

![调整请求参数](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_http_client.png)

3. 点击 ![运行按钮](https://resources.jetbrains.com.cn/help/img/idea/2026.3/app.actions.execute.svg)请求。

![运行请求](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_http_client_result.png)

## 迁移项目

Procedure: 迁移项目

在 IntelliJ IDEA 中，您可以通过以下一种方式将 Ktor 项目迁移到最新版本：

* 在打开使用以前版本 Ktor 的项目时，IntelliJ IDEA 建议您将此项目或特定模块迁移到最新版本。

![迁移项目弹出窗口](https://resources.jetbrains.com.cn/help/img/idea/2026.3/ktor_idea_migrate_popup.png)

您可以迁移项目/模块或点击   操作   [配置迁移级别](#migration-level)或取消迁移并禁用此弹出窗口。

* 请按 `Ctrl+Shift+A` (Windows), `⌘ ⇧ A` (macOS), `⌘ ⇧ A` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ P` (macOS System Shortcuts), `Ctrl+Shift+A` (XWin), `Ctrl+Shift+A` (GNOME), `Ctrl+Shift+A` (KDE), `Escape, X` (Emacs), `Ctrl+Shift+P` (Sublime Text), `⌘ ⇧ P` (Sublime Text (macOS)), `Ctrl+Shift+A` (Visual Studio), `⌘ ⇧ A` (Visual Studio (macOS)), `Ctrl+I` (NetBeans), `Ctrl+Shift+A` (Eclipse), `⌘ 3` (Eclipse (macOS))，找到   将 Ktor 迁移到最新版本   操作，然后按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。

Procedure: 配置迁移级别

* 要配置迁移级别或完全禁用迁移，请使用  `设置 | 语言与框架 | Ktor`  页面上的相应选项。

