使用 HttpEntity 在 Spring RestTemplate 中删除

2024-02-17

我不知道为什么我的代码不起作用,我尝试过 Postman 并且工作正常:

但与RestTemplate当它使用相同的端点时我无法得到响应...。

ResponseEntity<String> responseMS  = template.exchange(notificationRestService, HttpMethod.DELETE, new HttpEntity<NotificationRestDTO[]>(arrNotif), String.class);

我尝试过List反而Array[]

当我做了一个PUT请求它工作正常,但只有一个对象:

ResponseEntity<String> responseMS = template.exchange(notificationRestService, HttpMethod.PUT, new HttpEntity<NotificationRestDTO>(notificationDTO), String.class);

有什么帮助吗?谢谢!!


从评论中可以清楚地看出,您希望它返回400 错误请求回复。RestTemplate会将这些视为“客户端错误”,并且会抛出HttpClientErrorException http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/HttpClientErrorException.html.

如果你想处理这样的情况,你应该捕获这个异常,例如:

try {
    ResponseEntity<String> responseMS  = template.exchange(notificationRestService, HttpMethod.DELETE, new HttpEntity<NotificationRestDTO[]>(arrNotif), String.class);
} catch (HttpClientErrorException ex) {
    String message = ex.getResponseBodyAsString();
}

在这种情况下(因为您期望String),您可以使用getResponseBodyAsString() http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/RestClientResponseException.html#getResponseBodyAsString-- method.


The ResponseEntity仅包含您的请求成功执行时的数据(2xx 状态代码,如 200、204...)。因此,如果您只希望在请求未成功时返回一条消息,您实际上可以执行 Mouad 在评论中提到的操作,并且可以使用delete()的方法RestTemplate.

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

使用 HttpEntity 在 Spring RestTemplate 中删除 的相关文章

随机推荐

  • Docker 在 Windows 上添加网络驱动器作为卷

    我正在尝试将网络驱动器安装为卷 这是我正在尝试的命令 docker run v NetworkDirectory Folder data alpine ls data 我在 Windows 上运行此命令 数据目录为空 如何将此网络目录作为卷
  • 关于 MVVM 模式和 GUI 中 XAML 动态加载的混淆

    嗯 这个问题与 MVVM 模式相关 我可以在这个论坛上快速得到答案 所以我想询问并消除我对该模式的困惑 我对 MVVM 方法还很陌生 我欣赏这种模式并了解其背后的原理 也许我没有对这个模式进行太多的研究 这就是为什么会有一些困惑 如果有一种
  • 检测java中的回车键

    我尝试使用扫描仪获取用户输入 如果用户按 Enter 键 则继续执行下一个输入语句 但它一次打印全部 public class MainRDS public static void main String args Scanner in n
  • Spring Boot oauth2:如何设置授权请求中的资源参数以使adfs满意?

    我正在尝试设置一个 Spring Boot 应用程序 该应用程序使用 oauth2 和 Active Directory 联合身份验证服务作为身份验证提供程序 我从这里的教程开始 https spring io guides tutoria
  • 以强类型方式获取属性的 [DisplayName] 属性

    再会 我有这样的方法来获得 DisplayName 属性的属性值 直接附加或使用 MetadataType 属性 我在极少数情况下需要使用它 DisplayName 在控制器代码中 public static class MetaDataH
  • 在 DirectPipelineRunner 上使用自定义 DataFlow 无界源

    我正在编写一个从 Kafka 0 8 读取的自定义 DataFlow 无界数据源 我想使用 DirectPipelineRunner 在本地运行它 但是 我得到以下堆栈跟踪 Exception in thread main java lan
  • htmlunit 在运行项目后总是给出多个 javascript 异常

    我正在开发一个项目 该项目检查导入的电子邮件列表 以查看用户是否在雅虎上注册 当我单击 开始 按钮时 它应该转到 yahoo 邮件注册页面并检查此导入的 txt 文件中的每封电子邮件 我依赖 htmlunit 库 但它总是给出异常 尽管禁用
  • GORM 中的多个一对多关系

    我有一个struct定义在GO像这样 package models StoryStatus indicates the current state of the story type StoryStatus string const Pro
  • Ioc/DI - 为什么我必须引用应用程序入口点中的所有层/组件?

    与这个问题相关 EF4 为什么启用延迟加载时必须启用代理创建 https stackoverflow com questions 9500642 ef4 mvc3 with windsor castle ioc di navigation
  • 在React中使用父组件中的按钮提交表单

    所以我必须在模态中实现一个表单 正如你所看到的 模态中的按钮不是表单中的按钮 我将表单创建为模式的子组件 如何使用父组件中的按钮提交表单 我在用React 语义 UI https react semantic ui com collecti
  • HKDF 是在 Java 密码体系结构中实现的吗?

    在我正在写的应用程序中我需要做HKDF https en m wikipedia org wiki HKDF从一个密码派生出两个不同的密钥 在搜索有关如何使用 Java 的示例时 我发现了以下两个 https github com Whis
  • Java:notify() 与 notifyAll() 重头再来

    如果一副护目镜 之间的差异notify and notifyAll 然后会弹出很多解释 抛开javadoc段落 这一切都归结为被唤醒的等待线程的数量 一notify 和所有在notifyAll 然而 如果我确实理解这些方法之间的区别的话 总
  • Android 通过按钮打开菜单

    有没有办法让按钮调用子菜单 我目前有一个菜单 如果他们选择其中一个选项 则会打开一个子菜单 但是我希望能够从 Button 小部件而不是 Menu 对象启动子菜单 Thanks 我不一定推荐这样做 但我能够以编程方式调用子菜单 首先 在 o
  • 我需要route53将域绑定到ec2吗?

    大家好 我是 AWS 世界的新手 1 我有一些第三方 不是亚马逊 购买和注册的域名 我在其中设置 DNS 值 2 我有 EC2 微型实例 在面板中我可以找到公共 DNS 和公共 IP 3 我还有route53服务 A记录绑定到2 中的IP
  • React Native - 使用 React Navigation 动态创建导航器

    我正在使用 React Native 构建一个移动应用程序 并使用 React Navigation 在我的应用程序中构建一个导航器 React 导航为我提供了一种处理抽屉内嵌套选项卡栏的好方法 该抽屉也在 Stack Navigator
  • java.net.SocketException:Android 模拟器中的协议不支持地址族

    我正在尝试运行简单的应用程序来从 android 模拟器访问互联网 这是我的代码 我在代理后面 并通过 无线网络 gt APN gt 在模拟器中配置了代理设置 但互联网是通过浏览器而不是应用程序运行的 HttpURLConnection c
  • AWS X 射线追踪在 Node.js 中的传出请求上中断

    嘿 我正在尝试跟踪来自 Express 应用程序的传出请求 但我无法让它工作 当我不使用 AWSXRAY captureHttpsGlobal 函数时 传入请求一切正常 我可以在 服务地图 中看到我的应用程序以及 AWS 上传入的传入请求跟
  • 在捆绑包中找不到名为“Main”的故事板

    我收到一个奇怪的错误 Could not find a storyboard named Main in bundle NSBundle 当尝试在真实的 iOS 设备上运行我的应用程序时 我的目录中有该文件 并且它在模拟器中运行良好 然而
  • Intel HD 3700 linux 的 Java 8 Swing 渲染问题

    我在 Kubuntu 18 04 中用 java 8 update 181 开发了一个应用程序 在我的开发 PC 中 我拥有配备英特尔 HD Graphics 530 的英特尔 i3 6100 所有图形均使用 swing 完成 并且通过此硬
  • 使用 HttpEntity 在 Spring RestTemplate 中删除

    我不知道为什么我的代码不起作用 我尝试过 Postman 并且工作正常 但与RestTemplate当它使用相同的端点时我无法得到响应 ResponseEntity