You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用HttpRequestBuilder构建请求时FormData缺失问题排查

问题分析与解决方案

你的代码问题出在错误使用了formData扩展函数:这个函数用于构建multipart/form-data类型的请求体,但你没有将构建好的表单内容设置为请求的body,导致最终请求里没有携带FormData。

根据你的需求,分两种场景给出修正后的代码:

场景1:普通键值对表单(application/x-www-form-urlencoded)

这是大部分常规表单提交的场景,直接用parameters添加参数即可,框架会自动处理内容类型:

val client = HttpClient()
val request = HttpRequestBuilder().apply {
    url("https://httpbin.org/post")
    method = HttpMethod.Post
    parameters.append("objectType", "2")
}
val response = client.request(request)

场景2:多部分表单(multipart/form-data)

如果需要上传文件或复杂表单结构,需要将formData构建的内容通过setBody赋值给请求体:

val client = HttpClient()
val request = HttpRequestBuilder().apply {
    url("https://httpbin.org/post")
    method = HttpMethod.Post
    setBody(formData {
        append("objectType", "2")
    })
}
val response = client.request(request)

内容的提问来源于stack exchange,提问作者Aleksei Tirman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 05:47:33