feign 调用 Inconvertible types; cannot cast ‘ClientFallback‘ to ‘xxxx‘

在Feign接口调用中遇到InconvertibleTypes错误,问题根源在于实体类中的Date类型字段解析失败。通过在Date属性上添加@JsonFormat注解,指定日期时间格式(如yyyy-MM-ddHH:mm:ss),可以解决此转换错误。
摘要由CSDN通过智能技术生成

feign 调用 方法返回值是实体
在这里插入图片描述
feign请求后,接收响应信息时报错“Inconvertible types”,查找了很多Inconvertible types的情况,没有和这个问题类似的,打开debug模式 一步一步的检查,发现是实体中Date类型的数据转换出错了,需要在Date属性上增加注解:@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

实体属性:

/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createTime;
	/**
	 * 结束时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date endTime;
当在使用Spring Cloud时,如果集成了Spring Security,并且在服务A调用服务B时使用Feign请求,在调用时可能会遇到401授权认证的问题。这个问题的解决办法是在Feign调用请求时携带token。可以通过在资源包中引入相关的依赖包来实现。具体的步骤如下: 1. 首先,在服务A的pom.xml文件中添加必要的依赖包,包括Spring Cloud Feign和Spring Security相关的依赖。例如,可以添加以下依赖: ``` <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ``` 2. 然后,在服务A的配置文件中配置Spring Security,包括定义认证和授权规则。可以参考Spring Security的官方文档来配置相关的规则。 3. 接下来,在服务A中定义Feign客户端接口,并使用@RequestHeader注解来传递token。例如,可以在Feign客户端接口的方法上添加@RequestHeader注解,如下所示: ``` @FeignClient(name = "serviceB") public interface ServiceBClient { @GetMapping("/resource") String getResource(@RequestHeader("Authorization") String token); } ``` 4. 最后,在服务A的代码中调用Feign客户端接口的方法,并传递token。例如,可以在服务A中的某个方法中使用@Autowired注解来注入Feign客户端接口,并调用接口的方法,如下所示: ``` @Autowired private ServiceBClient serviceBClient; public void someMethod() { String token = "your_token_here"; String resource = serviceBClient.getResource("Bearer " + token); } ``` 通过以上步骤,您可以在Feign调用请求中携带token,从而解决Feign调用报Full authentication is required to access this resource的问题。<span class="em">1</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值