项目使用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);
相关推荐
- [springcloud(十二):使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪](http://www.ityouknow.com/springcloud/2018/02/02/spring-cloud-sleuth-zipkin.html) - [springcloud(十三):Spring Cloud Consul ...
SpringCloud分布式微服务项目Common通用依赖模块抽离示例代码 SpringCloud分布式微服务项目Common通用依赖模块抽离示例代码 SpringCloud分布式微服务项目Common通用依赖模块抽离示例代码 SpringCloud分布式微服务...
软件架构说明 springcloud-common 公共模块 springcloud-order-AT 订单服务 springcloud-product-AT 商品库存服务 springcloud-consumer-AT 消费调用者 springcloud-business-Tcc 工商银行服务 springcloud-...
一篇很好的springCloud学习的思维导读,详细的介绍了,springCloud的搭建步骤以及各组件的说明讲解 涵盖 Eureka服务注册与发现 Zookeeper服务注册与发现 Consul服务注册与发现 Ribbon负载均衡服务调用 OpenFeign...
RabbitMQ柔性事务方案、SpringCloud-Gateway网关、Feign远程调用、Sleuth+Zipkin链路追踪系统、Spring Cache缓存、SpringSession跨子域Session同步方案、基于ElasticSearch7全文检索、异步编排与线程池、压力测试...
lamp-cloud微服务脚手架是一个基于SpringCloud(Hoxton.SR10) + SpringBoot(2.3.10.RELEASE)的SaaS微服务脚手架,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关API、分布式事务、大文件...
SpringCloud基于SpringBoot 分布式服务实现,暂时实现了服务发现,rabbin和fegin两种调用方式,负载均衡、只能路由后续会持续更新代码(自己学习分布式服务架构,之前有dubbo开发经验,想去学习Spring全家桶)
SpringCloud分布式开发基础工程,包括服务注册中心,服务提供者,服务消费者,服务调用的方式Rest和Fegin,配置中心,熔断器Hystrix等
使用spring cloud代建完整的分布式微服务架构,包括spring security oauth2权限控制,docker,config动态修改配置文件,eureka服务发现,zuul路由,实现服务和服务之间的调用。等等
spring cloud consul注册中心,微服务间openfeign调用 ,附带windows 64位版consul 以及启动文件
spring cloud阿里巴巴集成框架可替代docker部署已更新集成阿里spring cloud 2.2.1.RELEASE版 spring cloud更新为Hoxton.SR3版本 dubbo2.7.6 ps:已将相对应框架升级为最新版本 演示演示: sentinel帐号密码为哨兵...
spring-cloud 学习项目 本项目是学习《中华石杉老师-21天互联网Java进阶面试训练营(分布式篇)》课程时自己整理的笔记和代码试验,希望对大家有所帮助。 课程质量是当前市面上最好的,没有之一。可以扫一个下面...
本项目示例基于spring boot 最新版本(2.1.9)实现,Spring Boot、Spring Cloud 学习示例,将持续更新…… 在基于Spring Boot、Spring Cloud 分布微服务开发过程中,根据实际项目环境,需要选择、集成符合项目...
实现服务发现、流量监控、rpc调用
cloud-starter-alicloud-oss是用于阿里云OSS的SpringBoot Starter,通过封装SDK实现对OSS的操作达博Dubbo是一个远程调用框架,用于实现方法的远程调用推荐使用ZooKeeper作为注册中心,当前使用Nacos会有各种问题西塔...
该项目基于用于微服务架构的spring-cloud-netflix组件。 组件: Config-Server (配置服务器,要启动的第一个服务,运行在: ) [! ]将searchLocations属性(resources / application.yaml)更新为您的本地路径 ...
SpringBoot集成Atomikos框架-实现分布式数据库XA事务;...SpringCloud集成Consul框架-实现配置中心; SpringCloud集成Consul框架-实现注册中心; SpringCloud集成Consul+Ribbon框架-实现注册中心和负载均衡; 等等
JeeSite Spring Cloud 具备 JeeSite 4.x 的所有功能,是在 JeeSite 4.x 基础之上,完成的 Spring Cloud 分布式系统套件的整合。它利用 JeeSite 4.x 的开发便利性巧妙地简化了分布式系统开发。 JeeSite Spring Cloud...
SpringColud1简易分布式 ● cloud-config-server:配置服务器-(通过git获取配置) ● cloud-eureka-server:eureka注册服务器 ● cloud-simple-service:一个使用mybatis的数据库应用,服务端 ● cloud-simple-...
基于 Spring Boot + Spring Cloud + Mybatis 为主流框架搭建的分布式敏捷开发系统架构,为中、小型项目打造企业级基础开发多种解决方案。 项目模块简介 mi-common 框架公共模块,提供相关共用工具类,以及代码...