首页 > 其他 > 详细

feign 使用

时间:2020-04-05 16:38:11      阅读:66      评论:0      收藏:0      [点我收藏+]

feign 是netflix 提供的申明式的httpclient调用框架

整合方法

1.添加依赖

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

2.在application 添加注解

@EnableFeignClients

技术分享图片

 

 3.编写调用代码

@FeignClient(name = "jpaas-form")
public interface FormClient {

    /**
     * 根据表单别名获取表单相关数据。
     * @param alias
     * @param pk
     * @param initPermission
     * @return
     */
    @GetMapping("/form/core/formPc/getByAlias")
    JsonResult<BpmView> getByAlias(@RequestParam(value = "alias") String alias,
                                          @RequestParam(value = "pk")String pk,
                                          @RequestParam(value = "initPermission") Boolean initPermission);

1.添加一个接口类。

2.增加@FeignClient 注解 

  name 指向需要调用的 微服务名称

3.增加调用方法

  遵循 mvc的写法,如果返回的数据是一个java对象,最好把这个实体做成公共的类,供被调用者和调用者进行使用。

 

@GetMapping("/users/{id}")
    UserDTO findById(@PathVariable Integer id);

方法示例,和spring mvc 差不多。

 

4.自定义FEIGN日志级别

feign 日志级别,就是需要打印feign的调用参数和响应数据。

技术分享图片

 

 使用java代码来实现。

1.编写配置类

import feign.Logger;
import org.springframework.context.annotation.Bean;

public class UserCenterFeignClientConfig {

    @Bean
    public Logger.Level level(){
        return  Logger.Level.FULL;
    }
}

2.feign client 类指定配置

@FeignClient(name = "user-center",
//    fallback = UserCenterFeignClientFallback.class,
//    fallbackFactory = UserCenterFeignClientFallbackFactory.class,
        configuration = UserCenterFeignClientConfig.class
)
public interface UserCenterFeignClient {

3.在日志中进行指定

编辑 application.yml

logging:
  level:
    com.demo.contentcenter.feignclient.UserCenterFeignClient: debug

 注意这个日志界别需要为 debug 级别,只有在debug模式才会输出feign日志。

feign 使用

原文:https://www.cnblogs.com/yg_zhang/p/12635961.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!