Springcloud Fegin Get 会自动转成Post

发布于 2022-09-07 23:28:02 字数 465 浏览 6 评论 0

问题描述

在实际访问API时,是POST的方式;

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

@RequestMapping(value = "/permission/current",method = RequestMethod.GET )
@Headers({"Content-Type: application/json","Authorization:{token}"})
Map<String,Object> getPermission(@Param("token") String token);

你期待的结果是什么?实际看到的错误信息又是什么?

怎么修改才可以支持Headers Authorization token,或者是 Springcloud Fegin 在此不支持?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

反目相谮 2022-09-14 23:28:02

you can add a Interceptor, put token to header, then you do not have to send token as a param for all the function .

public class FeignBasicAuthRequestInterceptor  implements RequestInterceptor {
    public FeignBasicAuthRequestInterceptor() {
    }
    @Override
    public void apply(RequestTemplate template) {
        HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();
        String token = (String)request.getSession().getAttribute("Authorization");
        template.header("Authorization", token);
    }
}
@Configuration
public class FeignConfiguration {

    /**
     * 创建Feign请求拦截器,在发送请求前设置认证的token,各个微服务将token设置到环境变量中来达到通用
     * @return
     */
    @Bean
    public FeignBasicAuthRequestInterceptor basicAuthRequestInterceptor() {
        return new FeignBasicAuthRequestInterceptor();
    }

    /**
     * feigin 日志配置
     *
     * @return
     */
    @Bean
    public Logger.Level feignLoggerLevel() {
        return feign.Logger.Level.FULL;
    }
}
寄人书 2022-09-14 23:28:02

看下一下这篇文章 https://blog.csdn.net/qq_3632...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文