springcloud之Feign初识篇—yml实现服务认证

上一篇我们通过注解实现服务调用认证,该认证也可以配置在yml中。

1、配置拦截器:feign会在实际请求前先走这个拦截器,这样可以把需要认证的信息在执行拦截器的时候加载进request请求中。

import feign.RequestInterceptor;
import feign.RequestTemplate;


public class MyBaseAuthRequestInterceptor implements RequestInterceptor {
    @Override
    public void apply(RequestTemplate requestTemplate) {
        //配置的是账号、密码编译后得到的字符
        requestTemplate.header("Authorization","Basic cm9vdDpyb290");
    }
}

为什么添加这个?feign的配置类里有对应的信息,我们这是自定义的形式重写了

2、检查feign注解修饰的调用接口

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.Map;

/**
 * configuration :此时可以写默认的配置,也可不写
 */
@FeignClient(name = "test1",configuration = FeignClientsConfiguration.class)
public interface FeignTest1Service {

    @RequestMapping(value = "/ribbonTest",method = RequestMethod.POST)
    public String testFeign(@RequestBody Map<String,String> map);
}

feign方法上可以使用@RequestMapping、@ResponseBody进行修饰

feign方法参数可以使用@RequestBody、@RequestParam等修饰

3、配置yml

feign:
  client:
    config:
      #指定服务配置
      test1:
        connect-timeout: 3000
        read-timeout: 1500
        logger-level: BASIC
        request-interceptors:
          - com.example.springcloud.ribbonfeign.interceptor.MyBaseAuthRequestInterceptor

启动项目后运行正常。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值