news 2026/6/9 21:19:15

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/6/10 10:10:38

RAG知识库远远没有你想象中的那么简单!

知识库系统作为大模型应用的关键模块&#xff0c;始终保持着与大模型的解耦特性。 此前文中曾探讨过知识库的构建困境&#xff0c;不少读者反馈内容空泛、缺乏实操价值。 构建知识库&#xff0c;从来不只是工程实现的命题&#xff0c;更是一场设计哲学的思辨&#xff1a;技术…

作者头像 李华
网站建设 2026/6/10 10:50:42

高效图片浏览新选择:ImageGlass免费轻量级查看器完全指南

高效图片浏览新选择&#xff1a;ImageGlass免费轻量级查看器完全指南 【免费下载链接】ImageGlass &#x1f3de; A lightweight, versatile image viewer 项目地址: https://gitcode.com/gh_mirrors/im/ImageGlass 还在为Windows系统自带的图片查看器功能单一、启动缓慢…

作者头像 李华
网站建设 2026/6/10 14:13:42

强烈安利9个AI论文平台,专科生轻松搞定毕业论文!

强烈安利9个AI论文平台&#xff0c;专科生轻松搞定毕业论文&#xff01; AI工具让论文写作不再难 在如今这个信息爆炸的时代&#xff0c;专科生面对毕业论文的压力越来越明显。无论是选题、写作还是降重&#xff0c;每一个环节都可能让人感到力不从心。而随着AI技术的不断进步&…

作者头像 李华
网站建设 2026/6/10 11:07:27

PlayCover深度解析:在Apple Silicon Mac上完美运行iOS应用

PlayCover深度解析&#xff1a;在Apple Silicon Mac上完美运行iOS应用 【免费下载链接】PlayCover Community fork of PlayCover 项目地址: https://gitcode.com/gh_mirrors/pl/PlayCover 想让你手中的Apple Silicon Mac变身成为iOS应用平台吗&#xff1f;PlayCover这款…

作者头像 李华
网站建设 2026/6/10 11:51:36

SD-PPP:重新定义Photoshop中的AI创作工作流

在当今AI技术蓬勃发展的时代&#xff0c;设计师们面临着前所未有的创作机遇与挑战。SD-PPP作为一款创新的Photoshop插件&#xff0c;彻底改变了传统AI绘图与专业设计软件之间的协作模式。通过将ComfyUI的强大AI能力无缝集成到Photoshop工作环境中&#xff0c;SD-PPP让创意实现变…

作者头像 李华
网站建设 2026/6/10 12:24:23

WinBtrfs完整指南:在Windows系统上部署Linux原生文件系统

WinBtrfs完整指南&#xff1a;在Windows系统上部署Linux原生文件系统 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 对于需要在Windows环境中访问Linux存储设备的用户来说&#xff0c…

作者头像 李华