IntelliJ IDEA 2025.1 Help

Ktor

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

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

  • 一个用于 创建新项目的向导。

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

  • 在项目内穿梭于不同路径之间。

  • 生成 路由的测试并为 Ktor 插件添加示例代码。

  • 代码编辑 支持,包括自动补全和重命名路由名称。

  • 生成 OpenAPI 规范。

  • 项目迁移到最新的 Ktor 版本。

创建一个新的 Ktor 项目

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

    否则,请转到主菜单的 文件 | 新建 | 项目

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

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

    Ktor 项目设置
    • 名称 :请指定项目名称。

    • 位置 :指定项目的目录。

    • 构建系统 :选择所需的 构建系统。 这可以是 Gradle 使用 Kotlin 或 Groovy DSL,或 Maven

    • 网站 :指定用于生成包名称的域。

    • 工件 :此字段显示生成的制品名称。

    • Ktor 版本 :选择所需的 Ktor 版本。

    • 引擎 :选择用于运行服务器的 engine

    • 配置在 :选择是否 在代码、HOCON 或 Yaml 文件中 指定服务器参数。

    • 添加示例代码 :使用此选项添加插件的示例代码,这些代码将添加到下一页。

  4. 在下一页,您可以选择一组 插件——提供 Ktor 应用程序常见功能的构建模块,如身份验证、序列化和内容编码、压缩、cookie 支持等。

    Ktor 插件

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

运行 Ktor 应用程序

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

  • 间距图标 旁边使用 main 功能。

  • 使用相应的 Gradle 任务或 Maven 目标。

  • 使用专用的 Ktor 运行配置。

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

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

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

    INFO ktor.application - Responding at http://0.0.0.0:8080
    运行工具窗口

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

要使用 Search everywhere在您的应用程序中查找特定路线,请按照以下步骤操作:

  1. Shift 两次以打开搜索窗口。

  2. 开始输入路线名称。

    随处搜索

    要缩小您的搜索范围,请点击窗口工具栏上的 筛选 图标 筛选 ,然后选择 URLs

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

  • 请将文本光标放在所需的路径或 URL,然后按 Ctrl+B

  • 按住 Ctrl 并悬停在路径或 URL 上。 当一个 URL 变成超链接时,按住键点击它。

  • 点击路径或 URL 旁边的 地球 图标,并从弹出窗口中选择 转到声明或用法

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

查找用例

要查看在您的 Ktor 应用程序中定义的所有 HTTP 或 WebSocket 端点,请使用 Endpoints 工具窗口:

  1. 点击路径旁边的 地球 图标,并在弹出窗口中选择 显示模块的所有端点

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

    Ktor 端点

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

    Ktor 端点 HTTP 客户端

    OpenAPI 选项卡上,您可以看到此路线的 OpenAPI 规范

生成代码

为插件生成代码

IntelliJ IDEA 允许您使用 代码补全弹出窗口 为 Ktor 插件生成代码:

  1. 请将文本光标放在 模块内,开始输入 install ,然后从列表中选择必需插件。

    安装插件
  2. 按下 Enter。 IntelliJ IDEA 为所选插件生成代码并将所需依赖项添加到构建脚本中。

    为插件生成的代码

生成 HttpClient

IntelliJ IDEA 提供了快速将 HttpClient添加到项目中的功能:

  • 开始输入 ktor-client ,从列表中选择此操作,然后按 Enter

    添加 HttpClient

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

创建测试

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

  1. 将文本光标放置在所需的模块或路由处,按 Alt+Enter ,然后选择以下操作之一:

    • 为 Ktor 模块创建测试

    • 为 Ktor 路由创建测试

    • 为 Ktor 路由创建测试

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

    生成测试

    点击 OK

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

    生成测试

    您可以从 测试中学习如何测试 Ktor 服务器。

编辑代码

完成路线名称

IntelliJ IDEA 允许您 补全路由名称:

  • 将文本光标放在接受 URL 的参数处并按下 Ctrl+Space。 编辑器将向您显示可用路径。

    路由完整名称

完整配置属性

如果您的项目将配置存储在 YAML file 中,您可以使用 autocompletion 来自动完成属性名称:

  • 在配置文件中的任何位置放置文本光标,然后按 Ctrl+Space。 编辑器会向您显示此组的所有可用配置属性。

    路由完整名称

重命名路由

在 IntelliJ IDEA 中,您可以使用 重命名重构来重命名路由:

  1. 请将文本光标置于 route 名称处,然后按 Shift+F6

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

    重命名路线

提取应用模块

若要将放置在 embeddedServer中的代码提取到一个独立的应用程序模块,请按照以下步骤操作:

  1. 将文本光标放置在 embeddedServer 函数调用处并按 Alt+Enter

  2. 选择 从当前的 embeddedServer 块中提取应用程序模块 并按下 Enter

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

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

OpenAPI

OpenAPI Specification(OAS)是一种 REST API 的描述格式。 Ktor 插件提供了为服务器端 Ktor 应用生成 OpenAPI 文档的功能。 插件为使用 字符串路径模式类型安全 路由定义的所有应用程序端点生成 路径。 为了生成更好的 OpenAPI 文档,该插件会分析服务器应用程序中端点的代码,例如:

生成 OpenAPI 规范

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

  1. 将文本光标放置在 embeddedServer函数调用处,然后按 Alt+Enter

  2. 从弹出窗口中选择 为当前模块生成 OpenAPI 文档 然后按下 Enter

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

    OpenAPI 文档

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

您可以按照 预览 OpenAPI 规范 中所述使用集成的 Swagger UI 预览 OpenAPI 规范。 生成的 Swagger UI 可用于按以下方式测试您的应用程序端点:

  1. 运行应用程序

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

在 HTTP 编辑器中测试端点

IntelliJ IDEA 允许您使用 代码编辑器中的 HTTP 客户端测试 HTTP 和 WebSocket 端点:

  1. 将文本光标置于所需路径,按 Alt+Enter ,然后选择 在 HTTP 客户端中生成请求

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

    调整请求参数
  3. 点击 运行按钮 请求。

    运行请求

迁移项目

迁移项目

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

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

    迁移项目弹出窗口

    您可以迁移项目/模块或点击 操作 配置迁移级别或取消迁移并禁用此弹出窗口。

  • 请按 Ctrl+Shift+A ,找到 将 Ktor 迁移到最新版本 操作,然后按 Enter

配置迁移级别

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

最后修改日期: 2025年 4月 24日