当前位置: 首页 > news >正文

微服务Feign组件远程调用自定义解码器

Feign远程调用响应结果格式

public class Result<T> {/*** 响应码,200为成功*/private Integer code;/*** 响应信息*/private String message;/*** 响应的具体对象*/private T data;
}

自定义Feign解码器

@Component // 注入Spring的IOC容器中,所有的Feign远程调用响应生效
public class FeignResultDecoder implements Decoder {@Overridepublic Object decode(Response response, Type type) throws IOException, DecodeException, FeignException {if (response.body() == null) {throw new DecodeException(response.status(), "未返回正确的数据", response.request());}String bodyStr = Util.toString(response.body().asReader(Util.UTF_8));// TODO 进行转换(jackson提供json2obj方法实现Result转换)Result result = (Result) JsonUtil.json2obj(bodyStr, type);// TODO 最终响应结果为Result中的泛型对象return result.data;}}
http://www.lryc.cn/news/139486.html

相关文章:

  • FairyGUI编辑器自定义菜单扩展插件
  • 若依二次开发
  • 安全(权限)框架Shiro概述及原理
  • java: 无法访问org.springframework.boot.SpringApplication 错误的类文件
  • 改进YOLO系列:7.添加CA注意力机制
  • Linux笔记--Ubuntu设置sftp服务
  • 火山引擎边缘云,助你沉浸式回忆童年
  • Axios跨域请求处理
  • Docker(二) Docker容器
  • 【业务功能篇81】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-入门实战
  • 【UniApp开发小程序】私聊功能uniapp界面实现 (买家、卖家 沟通商品信息)【后端基于若依管理系统开发】
  • 【BASH】回顾与知识点梳理(三十六)
  • 十三、pikachu之暴力破解
  • 用手势操控现实:OpenCV 音量控制与 AI 换脸技术解析
  • 【leetcode 力扣刷题】移除链表元素 多种解法
  • leetcode503. 下一个更大元素 II 单调栈
  • Oracle中列的维护
  • 后端项目开发:分页功能的实现(Mybatis+pagehelper)
  • SpringBoot集成Drools
  • React创建组件的三种方式及其区别是什么?
  • W6100-EVB-PICO进行UDP组播数据回环测试(九)
  • Qt 阴影边框
  • 前端面试:【性能优化】页面加载性能、渲染性能、资源优化
  • 从按下电源键到进入系统,CPU在干什么?
  • TypeScript初体验
  • 基于 Alpine 环境源码构建 alibaba-tengine(阿里巴巴)的 Docker 镜像
  • 政府网站定期巡检:构建高效、安全与透明的数字政务
  • C++信息学奥赛1138:将字符串中的小写字母转换成大写字母
  • leetcode1475. 商品折扣后的最终价格 【单调栈】
  • macOS M1使用TensorFlow GPU加速