克托尔
最后修改时间:2023 年 9 月 7 日所需插件:Ktor(捆绑)
Ktor是一个用于创建连接系统的 Web 应用程序框架。您可以使用它来创建服务器端和客户端应用程序。它支持多种平台,包括 JVM、JavaScript 和 Kotlin/Native。
IntelliJ IDEA 提供以下用于处理 Ktor 项目的功能:
用于创建新项目的向导。
用于运行和调试 Ktor 项目的专用运行配置。
在项目中的路线之间导航。
生成路由测试并为 Ktor 插件添加示例代码。
代码编辑帮助,包括完成和重命名路线名称。
生成OpenAPI规范。
将项目迁移到最新的 Ktor 版本。
创建一个新的 Ktor 项目
在欢迎屏幕上,单击新建项目。
否则,请转到文件 | 新 | 项目。
在“新建项目”向导中,从左侧列表中选择Ktor 。
在右侧窗格中,您可以指定以下设置:
名称:指定项目名称。
位置:指定项目的目录。
构建系统:选择所需的构建系统。这可以是Gradle与 Kotlin 或 Groovy DSL,或Maven。
Website:指定用于生成包名称的域。
工件:此字段显示生成的工件名称。
Ktor 版本:选择所需的 Ktor 版本。
引擎:选择用于运行服务器的引擎。
配置于:选择是否在代码、HOCON 或 Yaml 文件中指定服务器参数。
添加示例代码:使用此选项添加插件的示例代码,该代码将在下一页添加。
提示
您还可以使用完成弹出窗口为现有项目生成插件代码。
在下一页上,您可以选择一组插件- 提供 Ktor 应用程序常见功能的构建块,例如身份验证、序列化和内容编码、压缩、cookie 支持等。
单击“创建”并等待IntelliJ IDEA生成项目并安装依赖项。
运行 Ktor 应用程序
您可以通过以下方式之一运行服务器 Ktor 应用程序:
使用函数旁边的装订线图标
main
。使用专用的Ktor运行配置。
提示
要为新创建或导入的 Ktor 项目自动创建Ktor运行配置,请使用“设置”| “自动创建运行配置”选项。语言和框架 | 科托尔页面。
要从编辑器运行应用程序,请执行以下步骤:
单击该函数旁边的装订线图标
main
,然后选择Run 'ApplicationKt'。等待 IntelliJ IDEA 运行应用程序。运行工具窗口应显示以下消息:
INFO ktor.application - Responding at http://0.0.0.0:8080
这意味着服务器已准备好接受http://0.0.0.0:8080地址的请求。
提示
您可以从运行主题了解运行服务器 Ktor 应用程序的具体信息。
导航
使用 Search Everywhere 查找路线
要使用“到处搜索”在应用程序中查找特定路线,请按照以下步骤操作:
按两次可打开搜索窗口。Shift
开始输入路线名称。
要缩小搜索范围,请单击窗口工具栏上的过滤器图标并选择URL。
在路线及其用途之间导航
要在项目中的路线及其用法之间导航,请执行以下操作之一:
将插入符号放在所需的路径或 URL 处,然后按。Ctrl0B
按住该键,将鼠标悬停在路径或 URL 上。当 URL 变成超链接时,单击它而不释放按键。Ctrl
单击路径或 URL 旁边的图标,然后从弹出窗口中选择转到声明或用法。
IntelliJ IDEA 将显示相关路径/URL:
在端点工具窗口中显示路线
要查看 Ktor 应用程序中定义的所有 HTTP 或 WebSocket 端点,请使用端点工具窗口:
单击路径旁边的图标,然后从弹出窗口中选择显示模块的所有端点。
在调用的 Endpoints 工具窗口中,您可以看到应用程序中定义的所有路由。
如果 Ktor 服务器正在运行,您可以使用HTTP 客户端发出请求以立即查看响应或在编辑器中打开它。
在OpenAPI选项卡上,您可以看到此路由的OpenAPI 规范。
生成代码
生成插件代码
IntelliJ IDEA 允许您使用代码完成弹出窗口为 Ktor 插件生成代码:
将插入符号放入模块中,开始输入
install
,然后从列表中选择所需的插件。按。IntelliJ IDEA 为所选插件生成代码,并将所需的依赖项添加到构建脚本中。Enter
提示
IntelliJ IDEA 还允许您在使用“添加示例代码”选项创建新项目时生成插件代码。
生成HttpClient
IntelliJ IDEA 提供了将HttpClient快速添加到项目中的功能:
开始输入ktor-client,从列表中选择此操作,然后按。Enter
IntelliJ IDEA 创建
HttpClient
实例并将所需的客户端依赖项添加到构建脚本中。
创建测试
IntelliJ IDEA 允许您为模块、路由组或单个路由生成测试。HTTP 和 WebSocket 端点均支持此功能。要生成测试,请按照以下步骤操作:
将插入符号放在所需的模块或路由处,按,然后选择以下操作之一:AltEnter
为 Ktor 模块创建测试
为 Ktor 路由创建测试
为 Ktor 路由创建测试
模块多条路线单路线在调用的对话框中,您可以指定测试类名称、选择所需的路由并编辑各个测试名称。
单击“确定”。
IntelliJ IDEA 将创建一个测试类,其中包含所选路由的测试请求。
您可以从测试中了解如何测试 Ktor 服务器。
提示
请注意,IntelliJ IDEA 使用“设置”|“设置”中提供的专用代码模板生成 Ktor 测试。编辑| 文件和代码模板页面(代码选项卡)。
编辑代码
完整的路线名称
IntelliJ IDEA 允许您完成路由名称:
将插入符号放在接受 URL 的参数处,然后按。编辑器将向您显示可用的路线。CtrlSpace
完整的配置属性
如果您的项目将配置存储在YAML 文件中,则可以对属性名称使用自动完成功能:
将插入符号放在配置文件中的任意位置,然后按。编辑器将向您显示该组可用的所有配置属性。CtrlSpace
重命名路线
在 IntelliJ IDEA 中,您可以使用重命名重构来重命名路由:
将插入符号放在路线名称处,然后按。ShiftF6
指定新的路由名称并单击Refactor。
提取应用程序模块
要将嵌入服务器内的代码提取到单独的应用程序模块,请按照以下步骤操作:
将插入符号放在
embeddedServer
函数调用处并按。AltEnter从当前的嵌入式服务器块中选择提取应用程序模块,然后按。Enter
在调用的对话框中,指定模块名称并单击Extract。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 规范 (OAS) 是 REST API 的描述格式。Ktor 插件提供了为服务器端 Ktor 应用程序生成 OpenAPI 文档的能力。该插件为使用字符串路径模式或类型安全路由定义的所有应用程序端点生成路径。为了生成更好的 OpenAPI 文档,该插件分析服务器应用程序中端点的代码,例如:
特定路由的文档注释用作端点描述。
生成 OpenAPI 规范
要为 Ktor 应用程序生成 OpenAPI 规范,请按照以下步骤操作:
将插入符号放在嵌入服务器函数调用处并按。AltEnter
从弹出窗口中选择为当前模块生成 OpenAPI 文档,然后按。Enter
提示
或者,按,开始输入“生成 OpenAPI 文档”,选择相应的操作,然后按。CtrlShift0AEnter
等待IntelliJ IDEA将通过以下路径在应用程序资源中生成OpenAPI规范:resources
/openapi 。/documentation.yaml
提示
请注意,IntelliJ IDEA 可以在重新导入现有 Ktor 项目时自动更新 OpenAPI 规范。您可以在“设置”|“设置”中启用此功能。语言和框架 | 科托尔页面。
预览 OpenAPI 并测试您的应用程序
您可以使用集成的 Swagger UI 预览 OpenAPI 规范,如预览 OpenAPI 规范中所述。生成的 Swagger UI 可用于测试应用程序的端点,如下所示:
在预览中展开所需的端点并发出请求。
提示
为了确保您的 API 与 Swagger UI 良好配合,您需要使用CORS插件设置跨源资源共享策略。
在 HTTP 编辑器中测试端点
IntelliJ IDEA 允许您在代码编辑器中使用 HTTP 客户端测试 HTTP 和 WebSocket 端点:
将插入符号放在所需的路径处,按,然后选择“在 HTTP 客户端中生成请求”。AltEnter
在打开的文件中,调整请求参数。
单击装订线以提出请求。
迁移项目
迁移项目
在 IntelliJ IDEA 中,您可以通过以下方式之一将 Ktor 项目迁移到最新版本:
当打开使用早期 Ktor 版本的项目时,IntelliJ IDEA 建议您将此项目或特定模块迁移到最新版本。
您可以迁移项目/模块或单击操作来配置迁移级别或取消迁移并禁用此弹出窗口。
按,找到“将 Ktor 迁移到最新版本”操作,然后按。CtrlShift0AEnter
配置迁移级别
要配置迁移级别或完全禁用迁移,请使用设置 |上的相应选项。语言和框架 | 科托尔页面。
感谢您的反馈意见!