news 2026/2/4 13:33:20

openfeign 返回void和ResponseEntity的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
openfeign 返回void和ResponseEntity的区别

1. 方法返回void

@FeignClient(name = "service-name") public interface MyClient { @PostMapping("/api/operation") void doOperation(); }
  • 当接口返回状态码不是 2xx 时,Feign 会抛出异常

  • 抛出的是FeignException或其子类(如FeignException.NotFound等)

2. 方法返回ResponseEntity

@FeignClient(name = "service-name") public interface MyClient { @PostMapping("/api/operation") ResponseEntity<String> doOperation(); }
  • 无论接口返回什么状态码(200、400、404、500 等),Feign 都不会抛出异常

  • 调用方需要自己检查ResponseEntity的状态码

  • 可以通过responseEntity.getStatusCode()获取状态码

  • 可以通过responseEntity.getBody()获取响应体

3. 示例对比

返回 void 的处理方式:

try { myClient.doOperation(); } catch (FeignException e) { int status = e.status(); String error = e.getMessage(); // 处理异常 }

返回 ResponseEntity 的处理方式:

ResponseEntity<String> response = myClient.doOperation(); if (!response.getStatusCode().is2xxSuccessful()) { int status = response.getStatusCodeValue(); String body = response.getBody(); // 处理非成功响应 }

4. 建议

  • 如果需要处理各种 HTTP 状态码,使用ResponseEntity更灵活

  • 如果只关心成功情况,可以使用void或自定义对象,让异常机制处理失败情况

  • 也可以通过配置ErrorDecoder来自定义异常处理逻辑

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 3:15:18

微信数据库密钥智能提取技术:告别繁琐操作的全新方案

微信数据库密钥智能提取技术&#xff1a;告别繁琐操作的全新方案 【免费下载链接】PyWxDump 获取微信账号信息(昵称/账号/手机/邮箱/数据库密钥/wxid)&#xff1b;PC微信数据库读取、解密脚本&#xff1b;聊天记录查看工具&#xff1b;聊天记录导出为html(包含语音图片)。支持多…

作者头像 李华
网站建设 2026/2/3 4:54:56

R3nzSkin换肤工具数据清理完全指南

R3nzSkin换肤工具数据清理完全指南 【免费下载链接】R3nzSkin Skin changer for League of Legends (LOL).Everyone is welcome to help improve it. 项目地址: https://gitcode.com/gh_mirrors/r3n/R3nzSkin 当你使用R3nzSkin为英雄联盟游戏增添个性化皮肤后&#xff0…

作者头像 李华
网站建设 2026/2/4 16:31:23

完全掌控虚拟骑行:Zoffline离线服务器搭建终极指南

想要在任何网络环境下都能畅享Zwift骑行乐趣吗&#xff1f;Zoffline作为一款功能强大的开源项目&#xff0c;让你彻底摆脱网络束缚&#xff0c;打造专属的虚拟骑行世界。无论你是骑行爱好者还是技术新手&#xff0c;本文都将为你提供简单易懂的搭建方案。 【免费下载链接】zwif…

作者头像 李华
网站建设 2026/2/3 6:43:20

ImageGlass:免费开源图片浏览器,让看图体验焕然一新

ImageGlass&#xff1a;免费开源图片浏览器&#xff0c;让看图体验焕然一新 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 还在为Windows自带的图片查看器功能单一、启动缓…

作者头像 李华
网站建设 2026/2/4 3:33:27

WorkshopDL:打破平台壁垒的Steam创意工坊下载神器

你是否曾在Epic或GOG平台购买游戏后&#xff0c;面对Steam创意工坊中琳琅满目的模组却只能望而却步&#xff1f;WorkshopDL作为一款革命性的跨平台模组下载工具&#xff0c;彻底解决了这一痛点&#xff0c;让玩家无需重复购买游戏就能享受完整的模组体验。 【免费下载链接】Wor…

作者头像 李华