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。

  • 总结

相关推荐
海棠一号7 分钟前
JAVA理论第五章-JVM
java·开发语言·jvm
eternal__day24 分钟前
Spring Cloud 多机部署与负载均衡实战详解
java·spring boot·后端·spring cloud·负载均衡
颜淡慕潇28 分钟前
Redis 实现分布式锁:深入剖析与最佳实践(含Java实现)
java·redis·分布式
程序员秘密基地34 分钟前
基于vscode,idea,java,html,css,vue,echart,maven,springboot,mysql数据库,在线考试系统
java·vue.js·spring boot·spring·web app
何中应36 分钟前
【设计模式-5】设计模式的总结
java·后端·设计模式
吾日三省吾码1 小时前
Spring 团队详解:AOT 缓存实践、JSpecify 空指针安全与支持策略升级
java·spring·缓存
snetlogon201 小时前
JDK17 Http Request 异步处理 源码刨析
android·网络协议·http
风象南1 小时前
SpringBoot的5种日志输出规范策略
java·spring boot·后端
咖啡啡不加糖1 小时前
深入理解MySQL死锁:从原理、案例到解决方案
java·数据库·mysql
zimoyin1 小时前
Compose Multiplatform 实现自定义的系统托盘,解决托盘乱码问题
java