开发避坑指南(72):HttpHeaders 的add()方法和set()方法有什么区别?

问题

springframework中的HttpHeaders 的add()方法和set()方法有什区别?

解答

add()方法用于向指定头字段添加新值,不会覆盖该字段已有的值。这使得同一个头字段可以拥有多个不同的值。

set()方法则用于设置头字段的值,如果该字段已存在,则会用新值覆盖原有的值。这种方法适用于需要确保头字段只有单一值的场景。

java 复制代码
httpGet.add("Cookie", "aa");
httpGet.add("Cookie", "bb");

上述代码最终会保留两个Cookie头字段,值分别为"aa"和"bb"。

java 复制代码
httpGet.set("Cookie", "cc");

set()则会覆盖之前所有的Cookie值,最终只有一个值为"cc"的Cookie头字段。

相关推荐
tanzongbiao42 分钟前
Dorado7文件上传 解决HttpServletResponse返回值中文乱码的问题
java·服务器·前端
StevenSurpass2 小时前
智能工厂场景:FastPrintAgent 分布式打印中间件落地应用方案
分布式·mqtt·http·中间件·打印·fastreport
茶本无香2 小时前
Arthas 实战:线上“看 Map”的四种武器
java·map·arthas·线上定位
霸道流氓气质3 小时前
Spring AI异常处理与重试机制
java·人工智能·spring
郑州光合科技余经理5 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
萧瑟余晖5 小时前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
论迹复利8 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
小江的记录本9 小时前
【CSS】CSS 动画:transition、animation、transform、CSS3 新特性(附《思维导图》)
前端·css·安全·spring·前端框架·css3·动画
张宇Joaquin9 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
wixzjsh9 小时前
TCP通信与HTTP协议学习笔记:粘包、三次握手、四次挥手与C/S、B/S模型
学习·tcp/ip·http