本文主要是介绍openfeign使用fallback指定降级方法无法执行问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
直接点上代码:
package com.fuXiApi.api;import com.common.util.MyResult;
import com.fuXiApi.api.fallback.UserClientFallback;
import com.fuXiApi.dto.UserDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;@FeignClient(name = "fuxi-user-server", fallback = UserClientFallback.class)
public interface UserClient {@GetMapping("/user/getUserById/{id}")MyResult<UserDTO> getUserById(@PathVariable("id") Integer id);
}
定义了以对外提供服务的接口,并且声明了降级类。
降级类:
package com.fuXiApi.api.fallback;import com.common.util.MyResult;
import com.fuXiApi.api.UserClient;
import com.fuXiApi.dto.UserDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;/*** @program: springCloudeAlibabaFuXi* @author: quxiao* @create: 2024-03-19 21:09**/
@Component
@Slf4j
public class UserClientFallback implements UserClient {@Overridepublic MyResult<UserDTO> getUserById(Integer id) {log.info("用户通过id获取方法降级方法");return MyResult.fail();}
}
但是一直无法走这里面的方法,直到我把以前的代码,一个服务一个服务的排除配置,这个配置耗时我今晚两小时:
feign:sentinel:enabled: true
一定要在消费方开启这个配置!
或者这个:
feign:hystrix:enabled: true
选择其中一个在消费方开启!
这篇关于openfeign使用fallback指定降级方法无法执行问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!