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。

  • 总结

相关推荐
hhua01237 分钟前
理解“无界队列”与“有界队列”及其适用场景
java·队列
LZQqqqqo10 分钟前
C# 接口(interface 定义接口的关键字)
java·开发语言·c#
寒水馨18 分钟前
Java 9 新特性解析
java·开发语言·新特性·java9·jdk9
SimonKing23 分钟前
甩掉手动赋值!MyBatis-Plus 自动填充实战秘籍
java·后端·程序员
都叫我大帅哥1 小时前
Java PriorityQueue:小顶堆大智慧,优先队列全揭秘
java
都叫我大帅哥1 小时前
TOGAF实施治理阶段:你的项目守护神,还是架构警察?
java
吹个口哨写代码1 小时前
防止包含 XSS 攻击风险的内容提交成功
java·服务器·前端
hrrrrb2 小时前
【Spring Boot 快速入门】一、入门
java·spring boot·后端
超级小忍3 小时前
Spring Boot 配置文件常用配置属性详解(application.properties / application.yml)
java·spring boot·后端
麦兜*3 小时前
基于Spring Boot的审计日志自动化解决方案,结合SpEL表达式和AOP技术,实现操作轨迹自动记录,并满足GDPR合规要求
java·jvm·spring boot·后端·spring·spring cloud·maven