Spring ResponseEntity:使用构造函数还是静态构建器?

2023-11-27

在 Spring Boot RestController 中,我使用 springframework 类响应实体返回端点调用的响应。

我最近发现有两种方法可以实例化这个类。

使用构造函数:

response = new ResponseEntity<MyDto>(myDto, myHeaders, HttpStatus.OK);

使用静态生成器:

response = ResponseEntity.ok().headers(myHeaders).body(myDto);

生成的实例看起来是相同的。

我想知道,各自的优点和缺点是什么?在什么情况下我应该优先使用其中一种?


使用构造函数,您必须提前构造其参数,而使用构建器,您可以通过一个流畅的语句来完成此操作。

// constructor
MultiValueMap<String, String> headers = ...;
ResponseEntity<String> resp = new ResponseEntity(headers, HttpStatus.OK);

// builder
ResponseEntity<String> resp = ResponseEntity.ok()
    .header("header1", "value1")
    .header("header2", "value2")
    .build();

此外,对于具有一长串参数的构造函数,很难了解每个参数的语义。在这种情况下,我更喜欢建筑商。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring ResponseEntity:使用构造函数还是静态构建器? 的相关文章

  • 如何在 Eclipse 中用阿拉伯语读写

    我在 eclipse 中编写了这段代码来获取一些阿拉伯语单词 然后打印它们 public class getString public static void main String args throws Exception PrintS
  • java.lang.Class: 在 java 程序中初始化 log4j 属性文件时出错

    我正在尝试使用 log4j 运行独立的 java 程序 但在调试时收到以下消息 控制台上没有 log4j 相关日志 log Logger 1343 java lang Class ERROR in 18b4aac2 有人可以建议这里出了什么
  • Java 创建浮雕(红/蓝图像)

    我正在编写一个 Java 游戏引擎 http victoryengine org http victoryengine org 并且我一直在尝试生成具有深度的 3D 图像 您可以使用那些红色 蓝色眼镜看到 我正在使用 Java2D 进行图形
  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • 无法加载 jar 文件的主类

    我使用 Eclipse IDE 开发了一个应用程序 创建应用程序后 我以 jar 格式导出项目 当我尝试运行此 jar 文件时 出现错误 无法加载主类 请帮忙 当您将项目导出为 jar 时 请参阅此所以问题 https stackoverf
  • Java 泛型/类型调度问题

    考虑以下程序 import java util List import java util ArrayList public class TypeTest public static class TypeTestA extends Type
  • MI设备中即使应用程序被杀死,如何运行后台服务

    您好 我正在使用 alaram 管理器运行后台服务 它工作正常 但对于某些 mi 设备 后台服务无法工作 我使用了服务 但它无法工作 如何在 mi 中运行我的后台服务 MI UI有自己的安全选项 所以你需要的不仅仅是上面提到的粘性服务 你需
  • Google Inbox 类似 RecyclerView 项目打开动画

    目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
  • 使用 Java 在浏览器中下载 CSV 文件

    我正在尝试在 Web 应用程序上添加一个按钮 单击该按钮会下载一个 CSV 文件 该文件很小 大小仅约 4KB 我已经制作了按钮并附加了一个侦听器 文件也准备好了 我现在唯一需要做的就是创建单击按钮时下载 csv 文件的实际事件 假设 fi
  • 所有junit测试后的清理

    在我的项目中 我必须在所有测试之前进行一些存储库设置 这是使用一些棘手的静态规则来完成的 然而 在所有测试之后我不知道如何进行清理 我不想保留一些神奇的静态数字来引用所有测试方法的数量 我应该一直维护它 最受赞赏的方法是添加一些侦听器 该侦
  • 使用 java 按电子邮件发送日历邀请

    我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
  • 使用 Guava 联合两个 ImmutableEnumSets

    我想联合两个ImmutableEnumSets来自番石榴 这是我的尝试 public final class OurColors public enum Colors RED GREEN BLUE YELLOW PINK BLACK pub
  • 为什么 ConcurrentHashMap::putIfAbsent 比 ConcurrentHashMap::computeIfAbsent 更快?

    使用 ConcurrentHashMap 我发现computeIfAbsent 比putIfAbsent 慢两倍 这是简单的测试 import java util ArrayList import java util List import
  • 从 html 页面和 javascript 调用 java webservice

    我正在尝试从 javascript 调用 java 实现的 Web 服务 使用 NetBeans IDE 我读过很多关于 jQuery 和 AJAX 的内容 但我似乎无法掌握它 假设我的 Web 服务 WSDL 位于 http localh
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • 阻止 OSX 变音符号为所有用户禁用 Java 中的 KeyBindings?

    注 我知道这个问题 https stackoverflow com questions 40335285 java keybinds stop working after holding down a key用户必须输入终端命令才能解决此问
  • 如何移动图像(动画)?

    我正在尝试在 x 轴上移动船 还没有键盘 我如何将运动 动画与boat png而不是任何其他图像 public class Mama extends Applet implements Runnable int width height i
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • Java中有类似分支/跳转表的东西吗?

    Java有类似分支表或跳转表的东西吗 分支表或跳转表是 根据维基百科 http en wikipedia org wiki Branch table 用于描述使用分支指令表将程序控制 分支 转移到程序的另一部分 或可能已动态加载的不同程序
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public

随机推荐

  • 正则表达式提取两个字符或标签之间的所有子字符串

    我需要提取由两个字符 或者可能是两个标签 包围的所有字符串 这就是我到目前为止所做的 NSRegularExpression regex NSRegularExpression regularExpressionWithPattern op
  • MySQL删除重复记录但保留最新记录

    我有独特的id and email字段 电子邮件会重复 我只想保留所有重复项的一个电子邮件地址 但包含最新的id 最后插入的记录 我怎样才能实现这个目标 想象一下你的桌子test包含以下数据 select id email from tes
  • 与 Xcode 分开安装 Git

    首先 我很抱歉这是一个非常简单的问题 但 Git 对我来说绝对是全新的 基本上 我已经涉足 iOS 开发一段时间了 现在有了一个项目想法 我想开始研究 并且我第一次计划将其纳入源代码管理 现在我知道 Xcode 4 有一些 Git 集成 但
  • mariadb IF 语句错误消息?

    我测试sql查询 IF 3 3 THEN SELECT TRUE ELSE SELECT FALSE END IF 我在 SQLyog 中执行查询 我收到下面的错误消息 You have an error in your SQL synta
  • 多对多关系的内联表单集的挂件

    遵循凯文 迪亚斯 Kevin Dias 的指示本文 我尝试为两个相关模型生成一种表单 这似乎适用于一对多关系 但是我在使用多对多关系时遇到了问题 以下是用户角色管理的一些示例代码 models py from django db impor
  • 如何授予 SQL Server 读取我的 SSL 密钥的权限?

    我最近创建了一个自签名证书并在 SQL Server 2014 中打开了加密 问题是现在 SQL Server 服务无法启动 本文from 2010 将问题识别为权限问题 SQL Server 服务没有读取 SSL 证书私钥的必要权限 问题
  • 如何计算 linq to sql 查询中列值的总和?

    我写这个查询 var query2 from p in behzad Compare closed numbers in CRM and Billing system detail counters where p fileid point
  • Eclipse 调试 - 行:不可用

    我似乎在谷歌上找不到任何东西告诉我为什么会这样以及解决方案是什么 我正在逐步执行第三方代码 我有源代码 并且非常希望看到当前行正在执行 查看 javac 编译标志 我看到 g none 标志 如果设置了此标志 这是否足以解释为什么我看不到行
  • 在 Angular2 中跨模块共享服务的最佳方式是什么

    我正在使用如下所述的应用程序结构 index ts app module ts app component ts hero directory hero module ts hero ts Data Object hero service
  • S4方法调度慢吗?

    我的 S4 类有一个被调用多次的方法 我注意到执行时间比独立调用类似函数要慢得多 因此 我在类中添加了一个类型为 function 的槽 并使用该函数而不是该方法 下面的示例显示了执行此操作的两种方法 并且它们的运行速度都比相应的方法快得多
  • 理解平行存在并找到

    我拿一个List Int 并想要搜索一个值x where x 10 gt 500在平行下 所以exists应该返回true如果列表包含 51 或更大的任何值 def f x Int println calculating for x Thr
  • Multipart/form-data 不支持 request.getparamerter [重复]

    这个问题在这里已经有答案了 我有一个表格 它有文件上传部分以及几个输入字段 我在用request getParameter 将值从 jsp 获取到 servlet 但是当我添加encrypt multipart request get参数不
  • 过滤数据框

    我已读取矩阵形式的 csv 文件 有 m 行和 n 列 我想通过以口头形式进行过滤来过滤矩阵 选择 x 列中的所有值 其中该行中另一列的值等于 blabla 这就像数据库中的选择语句 我说我对需要满足这些约束的矩阵的子集感兴趣 我怎样才能在
  • vue-router 总是创建一个新的 Component 实例

    我在 vue router 中发现了一个问题 这让我很受触动 当我在路由之间切换时 总是会创建组件的新实例 此外 旧实例不会被删除并在后台运行 我希望当我打开一条路线时 旧组件将被销毁或停止运行 有解决方法来解决这个问题吗 这是一个小提琴
  • XAPK 文件验证显示正确的数据信息

    在运行 APK 扩展文件示例时 我只是跳过了检查 CRC32 以避免 crc bug 算法 并且它工作得非常好 但是 虽然 XAPK 文件验证显示正确的下载数据信息为 99 如何避免这种情况并通过硬编码查看完整的 100 这不是最好的解决方
  • 仅选择启动首选项复选框中的一个复选框

    我的应用程序启动取决于用户偏好 具有三个不同的复选框 1 启动应用程序 没有启动画面和音乐 2 仅使用启动画面启动应用程序 3 启动带有启动画面和音乐的应用程序 使用下面的代码可以完美地工作 但仍有两点需要实现 FIRST只应选中一个复选框
  • Git 中的 tree-ish 是什么意思?

    我很困惑如何使用git archive 我有一个带有文件夹的 git 存储库Foo Bar and Baz在顶层 我需要导出文件夹Foo以类似 SVN 的方式进行快速测试部署 我了解到我可以使用git archive in an 类似 SV
  • Get-ChildItem 无法找到路径,因为它不存在

    我正在编写一个脚本来获取网络中所有共享的 ACL 我正在三个独立的 UNC 路径上运行它 三者中的两个工作正常 返回所有子项目和权限等 但是 第三个 UNC 路径返回以下错误 Get ChildItem Cannot find path s
  • 将十进制向量转换为二进制向量

    我需要将十进制数转换为二进制向量 例如 这样的事情 length de2bi length field 16 不幸的是 由于许可的原因 我无法使用此命令 是否有任何快速的简短技术可以将二进制转换为向量 这就是我正在寻找的 If Data 1
  • Spring ResponseEntity:使用构造函数还是静态构建器?

    在 Spring Boot RestController 中 我使用 springframework 类响应实体返回端点调用的响应 我最近发现有两种方法可以实例化这个类 使用构造函数 response new ResponseEntity