海通建设集团有限公司网站,免费设计模板网站,学校html网站模板代码,深圳网站建设外贸公司文章目录 起因原因解决方法#xff1a; 起因
从pay-service中实现下单时#xff0c;会调用到user-service中的扣减余额。 因此这里需要在不同微服务之间传递用户信息。 但是user-service中始终从始至终拿不到user的信息。
原因
在pay-service中#xff0c;不仅要Enable O… 文章目录 起因原因解决方法 起因
从pay-service中实现下单时会调用到user-service中的扣减余额。 因此这里需要在不同微服务之间传递用户信息。 但是user-service中始终从始至终拿不到user的信息。
原因
在pay-service中不仅要Enable OpenFeign还要让自己编写的OpenFeign配置类生效 但是这样只是配置了。有需要用这个配置类从当前微服务传递到下一个微服务的功能的但是也有不需要这个配置功能的。 如何操作
在需要调用OpenFeign的service的启动类XxxApplication(eg, PayApplication)中添加如下注解
EnableFeignClients(basePackages com.hmall.api.client, basePackageClasses PayApplication.class, defaultConfiguration DefaultFeignConfig.class)
只有添加了defaultConfiguration DefaultFeignConfig.class的配置类才会在该service中让刚刚写的不同微服务之间传递用户id的功能生效。
这里的EnableFeignClients(basePackages com.hmall.api.client, basePackageClasses PayApplication.class)表示使用Feign客户端
解决方法
一定要不能忘记添加 defaultConfiguration DefaultFeignConfig.class的配置类才会在该service中让刚刚写的不同微服务之间传递用户id的功能生效。 最终的样子如下
package com.hmall.pay;import com.hmall.api.config.DefaultFeignConfig;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;/*** Author: GQLiu* DATE: 2024/9/1 23:44*/
SpringBootApplication
MapperScan(com.hmall.pay.mapper)
EnableFeignClients(basePackages com.hmall.api.client, basePackageClasses PayApplication.class, defaultConfiguration DefaultFeignConfig.class)
public class PayApplication {public static void main(String[] args) {SpringApplication.run(PayApplication.class, args);}
}