HTTP发送POST请求的两种方式
1、json
String json = HttpRequest.post(getUrl(method, "v1", url, userId, appKey))
.header("Content-type", "application/json") // 设置请求头为 JSON 格式
.body(JSONUtil.toJsonStr(params)) // 请求体为 JSON 字符串
.execute()
.body();
特点:
-
请求头:
Content-type: application/json
,表示请求体是 JSON 格式。 -
请求体:
body(JSONUtil.toJsonStr(params))
,直接将params
对象转换为 JSON 字符串作为请求体。 -
适用场景:适用于后端接口需要接收 JSON 格式数据的场景,通常是 RESTful API。
2、from表单
String response = HttpRequest.post(getUrl(method, "v1", url, userId, appKey))
.header("Content-type", "application/x-www-form-urlencoded") // 设置请求头为表单格式
.form("params", JSONUtil.toJsonStr(params)) // 请求体为表单格式,键值对形式
.execute()
.body();
特点:
-
请求头:
Content-type: application/x-www-form-urlencoded
,表示请求体是表单格式。 -
请求体:
form("params", JSONUtil.toJsonStr(params))
,将params
对象转换为 JSON 字符串,并将其作为表单的一个字段(键为params
,值为 JSON 字符串)。 -
适用场景:适用于后端接口需要接收表单数据的场景,通常是传统的表单提交或某些特定的 API。
-
总结