Ktorfit X 官方文档|3.2.3-3.0.4|建设中... Help

Kotlin Multiplatform

问答

  • 问1:为什么它能够支持 Kotlin Multiplatform,不需要反射吗?

  • 答1:因为项目采用 ksp + kotlinpoet 的设计,从而在编译阶段生成网络请求代码,从而不需要使用反射,所以它支持跨平台

  • 问2:开启混淆对使用有影响吗?

  • 答2:没有影响,因为它是编译阶段生成的实现,注解不会被包含到最终混淆产物当中,所以不需要考虑这个问题

支持平台

平台

架构 / Target 编译类型

Android

JVM – androidTarget (JVM 21)

Desktop

JVM – jvm("desktop") (JVM 21)

iOS

iosX64, iosArm64, iosSimulatorArm64 (Native)

macOS

macosX64, macosArm64 (Native)

watchOS

watchosX64, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosDeviceArm64 (Native)

tvOS

tvosX64, tvosArm64, tvosSimulatorArm64 (Native)

Linux

linuxX64, linuxArm64 (Native executables)

Windows

mingwX64 (Native executable via MinGW)

Js

js(IR) – outputModuleName + nodejs()

WasmJs

wasmJs (ExperimentalWasmDsl + nodejs())

什么是 Ktorfitx

  • 前往 创建 Ktorfitx 查看如何创建 Ktorfitx 对象,并如何使用它

全部注解

目标 ANNOTATION_CLASS

  • @HttpMethod :支持自定义 HTTP 方法类型,用于非标准请求方法,需标注在自定义注解上

目标 CLASS

  • @Api :定义服务接口类型,作为生成 REST 风格 Ktor 请求代码的标识

  • @ApiScope :定义生成接口的作用域,控制扩展方法中泛型的类型以规定此服务作用于指定 ktorfitx 配置

目标 FUNCTION

目标 VALUE_PARAMETER

  • @Body :设置请求体内容,支持配置多种序列化类型

  • @Query :将参数映射为 URL 查询参数(?key=value)

  • @Field :以 x-www-form-urlencoded 格式提交表单字段

  • @Part :表示 multipart/form-data 的表单部分,用于文件上传或复杂表单

  • @Header :动态注入 HTTP 请求头参数

  • @Path :映射路径参数,对 URL 模板中的 {} 片段进行替换

  • @Cookie :从 Cookie 中提取参数值注入接口

  • @Attribute :用于传递请求属性(attribute),可携带元数据或上下文信息

注意事项 ⚠️

  • @Body@Field@Part 这三个注解不能在同一个请求中同时使用

Last modified: 03 August 2025