项目使用spring-boot2.x,在使用spring-cloud时,使用feign调用其它子系统的接口,刚开始的时候返回的对象就是一个Object的,包含有state, message, data三个属性,其中 data为Object的排指定类型,原以为调用接口在返回后,通过强制转换就可能得到所要的对象,通过swagger的测试也返回了正常的json数据。但是在正常java代码调用过程中,得到的类型是LinedHashMap,强制转换类型是就提示类型转换失败,抛异常了。
花了半天时间在网上找了一堆资料,尝试添加代码转换工具,如ObjectMapper这些转换的,不是包不对,就是其它一堆问题。
然后把Object类型转换为<T>的泛型,在接口和后台api的实现方法上同样指定一个返回的数据类型,再一调用,居然通过了,输出的数据也正常。
接口定义:
@PostMapping("/api/getDeptInfoById") public ApiResponse<DeptInfo> getDeptInfoById(@RequestParam(value="deptId", required=true)Long deptId);
ApiResponse:
public class ApiResponse<T> implements Serializable { /** * 返回状态,默认为0表示正常 */ private int state = 0; /** * 当出错时state!=0,返回的错误文字描述 */ private String message; /** * 正常业务逻辑下返回的数据 */ private T data; ... }
调用时:
ApiResponse<DeptInfo> res = client.getDeptInfoById(1l); DeptInfo deptInfo = res.getData(); System.out.println(deptInfo);
相关推荐
根据提供的文件信息,本篇文章将围绕“spring-cloud分布式实战视频教程”这一主题展开,深入解析Spring Cloud在分布式系统中的应用及其实战技巧。 ### Spring Cloud简介 Spring Cloud是一系列框架的有序集合,它...
- [springcloud(十二):使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪](http://www.ityouknow.com/springcloud/2018/02/02/spring-cloud-sleuth-zipkin.html) - [springcloud(十三):Spring Cloud Consul ...
### 基于Spring Cloud的分布式Session共享技术详解 #### 一、背景介绍 随着互联网应用的不断发展,传统的单体架构已经难以满足高并发、低延迟的服务需求。为了解决这些问题,越来越多的企业开始采用分布式系统架构...
首先,Spring Cloud是基于Spring Boot的微服务解决方案,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作的...
在现代微服务架构中,Spring Cloud作为主流的工具集,为开发者提供了构建分布式系统的服务发现、配置管理、断路器等一系列功能。本篇文章将围绕"spring-cloud-demo-master.zip"这个入门项目,深入解析其中的关键组件...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...
SpringCloud分布式微服务项目Common通用依赖模块抽离示例代码 SpringCloud分布式微服务项目Common通用依赖模块抽离示例代码 SpringCloud分布式微服务项目Common通用依赖模块抽离示例代码 SpringCloud分布式微服务...
在本项目"spring-cloud-user-feign.zip"中,我们探讨的是如何在Spring Cloud框架下实现服务间的调用,特别是利用Feign客户端进行微服务通信。这个压缩包包含了四个关键组件,分别是: 1. spring-cloud-gateways:这...
在标签中,我们看到"SpringCloud",这是Spring Boot的扩展,用于构建分布式微服务系统。"SpringSecurity"是Spring生态系统中的安全框架,用于处理身份验证和授权。"Oauth"是一种开放标准,主要用于授权,允许第三方...
在分布式系统中,监控和追踪服务调用链路至关重要,Spring Cloud 和 Apache SkyWalking 提供了一种高效的方法来实现这一目标。本文将详细介绍如何在Spring Cloud环境下集成SkyWalking进行链路跟踪。 ### 一、环境...
这个资源,"spring-cloud-netflix-master.zip",包含了2019年7月2日时SpringCloud官网提供的最新开源代码,对于开发者来说,是一份宝贵的参考资料。 Spring Cloud Netflix的核心组件包括: 1. Eureka:服务注册与...
【标题】"springcloud-demo-master_spring-cloud_cloud_" 指的是一个基于Spring Cloud的示例项目,这个项目主要用于学习和演示Spring Cloud的核心功能和基本流程。Spring Cloud是微服务架构的重要工具集,它提供了...
本文将深入探讨标题" Ideal版SpringCloud框架参考---分布式微服务架构参考"所涵盖的关键知识点,并结合描述中的组件进行详细解析。 首先,Eureka是Spring Cloud中的服务注册与发现组件。它允许微服务实例向中心...
总结,Spring Cloud通过这些组件实现了微服务架构中的服务发现、负载均衡、服务调用、容错管理和API路由等功能,为开发者提供了构建高可用、高并发的分布式系统的基础框架。在实际开发中,我们需要根据业务需求,...
Spring Boot 提供了一种快速构建独立、生产级别的基于 Spring 应用程序的方法,而 Spring Cloud 则在此基础上为微服务架构提供了一整套解决方案。 在"spring-cloud企业级框架 服务治理spring -boot"这个主题中,...
Spring Cloud是Spring官方推出的一套微服务解决方案,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)中快速构建...
首先,Spring Cloud Alibaba是阿里巴巴提供的一套微服务解决方案,它为开发者提供了在分布式系统(如配置管理、服务发现、熔断机制、负载均衡等)中快速构建一些常见模式的能力。Spring Cloud Alibaba允许我们轻松地...
Spring Cloud由多个模块组成,包括Spring Cloud Context, Spring Cloud Commons, Spring Cloud LoadBalancer, Spring Cloud CircuitBreaker, ConfigurationProperties, Spring Cloud Config, Spring Cloud Netflix, ...
SpringCloud是一个基于Spring Boot实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作...