开发避坑指南(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头字段。

相关推荐
xUxIAOrUIII16 小时前
【Spring Boot】控制器Controller方法
java·spring boot·后端
Dolphin_Home16 小时前
从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)
java·spring boot·后端·spring cloud·database·广度优先·图搜索算法
醇氧16 小时前
org.jetbrains.annotations的@Nullable 学习
java·开发语言·学习·intellij-idea
Java&Develop16 小时前
Aes加密 GCM java
java·开发语言·python
JIngJaneIL16 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
专注VB编程开发20年17 小时前
C#全面超越JAVA,主要还是跨平台用的人少
java·c#·.net·跨平台
南_山无梅落17 小时前
9.Python3集合(set)增删改查和推导式
java·开发语言
爱笑的眼睛1117 小时前
超越MSE与交叉熵:深度解析损失函数的动态本质与高阶设计
java·人工智能·python·ai
全靠bug跑18 小时前
Spring Cloud OpenFeign 实战三部曲:快速集成 · 连接池优化 · 客户端抽取
java·spring boot·openfeign