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

HTTP 请求 @GET, @POST...

请求类型

注解

请求类型

说明

@GET

GET

用于获取资源或数据,不应包含请求体。常用于查询或读取操作

@POST

POST

用于创建资源或提交数据。支持请求体(如 JSON、表单等)

@PUT

PUT

用于整体更新资源,需提供完整的资源内容

@DELETE

DELETE

用于删除指定资源,常用于数据删除操作

@PATCH

PATCH

用于部分更新资源,适合修改资源中的部分字段

@HEAD

HEAD

类似 GET 请求,但不返回响应体。用于获取资源的元信息(如是否存在)

@OPTIONS

OPTIONS

获取服务器支持的通信选项。常用于 CORS 预检请求

代码示例

  • 在这里使用 @GET 注解并设置 url ,生成的 url 会自动拼接上 @Api 上提供的 url

@BearerAuth @GET(url = "userDetail/query") suspend fun queryUserDetail(): UserDetailDTO
  • 您也可以使用 http://https:// 前缀的完整 url

@BearerAuth @POST(url = "https://ktorfitx.cn:8080/api/userDetail/update") suspend fun updateUserDetail( @Field key: String, @Field value: String? ): Boolean

生成实现

  • 这里生成的代码会识别您使用的是哪个请求方式注解,当然也会识别您自定义的注解

  • 如需查看如何创建自定义请求方式,请 @HttpMethod 查看教程

override suspend fun queryUserDetail(): UserDetailDTO { val token = this.config.token?.invoke() val response = this.config.httpClient.get { this.url("query") if (token != null) { this.bearerAuth(token) } } return response.body() }
override suspend fun updateUserDetail(key: String, value: String?): Boolean { val token = this.config.token?.invoke() val response = this.config.httpClient.post { this.url("userDetail/update") if (token != null) { this.bearerAuth(token) } this.contentType(ContentType.Application.FormUrlEncoded) this.setBody(listOf("key" to key, "value" to value).formUrlEncode()) } return response.body() }
Last modified: 03 August 2025