HTTP发送POST请求的两种方式

1、json

java 复制代码
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表单

java 复制代码
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。

  • 总结

相关推荐
吹什么轩4 分钟前
constexpr 完全指南:从 const 的两种含义,到编译期计算的四次演进
java·前端·javascript
她的男孩14 分钟前
租户 A 的验证码,却用了租户 B 的 AccessKey:Forge Admin 修跨租户短信串发
java·spring boot·saas
LabVIEW开发16 分钟前
LabVIEW 局部变量与数据流:这道 CLAD 题为什么答案是 Undefined
java·开发语言·labview
文丑颜不良啊16 分钟前
LeetCode1721~1740题目解析
java·leetcode
wangbing112521 分钟前
监控网页项目常用英文缩写
java
麻瓜code25 分钟前
双写一致性:为什么是“删缓存“,而不是“改缓存“
java·缓存·mybatis
小蒜学长28 分钟前
基于SpringBoot+Vue的云南地区扶贫助农系统的设计与实现(代码+数据库+LW)
java·vue.js·spring boot·后端·乡村振兴
RuoyiOffice35 分钟前
Hyper-V+Kubernetes 搭建实战:保留 Windows,构建三节点 Linux 容器集群
linux·spring boot·kubernetes·containerd·hyper-v·微服务部署·ruoyi office
砚底藏山河36 分钟前
量化回测可复现流水线CI化
java·python·ci/cd·金融
骑着蜗牛撵大象32736 分钟前
Spring Boot 4.1 + Spring AI 2.0:RAG 供文、图谱供关系、MCP 供工具的 Java Agent 平台
java·spring boot·spring·微服务·知识图谱·rag·mcp