当前位置: 首页 > 知识库问答 >
问题:

如何在Spring Boot Feign客户端上定义全局静态头

单于奕
2023-03-14

我有一个Spring Boot应用程序,希望创建一个具有静态定义的头值(用于auth,但不是基本auth)的假客户端。我找到了@headers注释,但它在Spring Boot领域似乎不起作用。我怀疑这与使用springmvccontract有关。

@FeignClient(name = "foo", url = "http://localhost:4444/feign")
@Headers({"myHeader:value"})
public interface LocalhostClient {

我用我的尝试制作了一个干净的spring boot应用程序,并在这里发布到github:github示例

使其工作的唯一方法是将RequestInterceptor定义为全局bean,但我不想这样做,因为这会影响其他客户机。

共有1个答案

商飞翮
2023-03-14

您还可以通过向单个方法添加header来实现这一点,如下所示:

@RequestMapping(method = RequestMethod.GET, path = "/resource", headers = {"myHeader=value"})

在Feign client+Spring Cloud(Brixton RC2)中使用具有动态值的@headers讨论了使用@requestheader来实现动态值的解决方案。

 类似资料:
  • 我用global.d.ts定义全局变量: 但是在执行main.ts的时候 报错:

  • 问题内容: 在Coffeescript.org上: 将编译为: 通过在node.js下的coffee-script进行编译可以做到: 文件说: 如果要创建供其他脚本使用的顶级变量,请将它们作为属性附加到窗口或CommonJS中的exports对象上。如果您同时针对CommonJS和浏览器,那么存在运算符(见下文)为您提供了一种可靠的方法来确定将它们添加到何处:root = exports?这个 然

  • 问题内容: 有没有一种方法可以将一个函数定义为在一个类中是全局的(或者,实际上是在另一个函数中)?类似于定义全局变量。 问题答案: 将函数添加到当前名称空间,就像将添加任何其他名称一样。这意味着您可以在函数或方法中使用关键字: 同样适用于类主体或方法: 区别将在导入时执行顶级类主体时立即定义。 像您的所有用途一样,您可能想重新思考问题并找到另一种解决方法。例如,您可以 返回 如此创建的函数。 演示

  • 我准备我的API文档的方式是每只手做一次,而不是自动生成。我有应该发送到所有API的头,不知道是否可以为整个API全局定义参数? 这些头中有些是静态的,有些必须在调用API时设置,但它们在所有API中都是相同的,我不想为每个API和每个方法复制和粘贴参数,因为这在将来是不可维护的。 我看到了API定义的静态头,但没有一个文档说明如何设置或使用它们。 这到底有没有可能?

  • 问题内容: 我已经将Spring MVC调度程序映射为上的全局前端控制器。 但是,此映射会停止访问文件夹中都包含的静态文件,如CSS,JS,图像等。 我如何才能访问它们? 问题答案: 我也遇到了这个问题,却从未找到一个好的解决方案。我最终将我的servlet映射到URL层次中的更高一级: 现在,基本上下文(和/ res目录中)的所有内容都可以由容器提供。

  • 问题内容: 对于IE,我需要使用jsonp-polling,对于Firefox,则需要使用xhr-polling,因此我尝试在客户端定义传输类型,如下所示: 我在Firefox上进行了测试,并在socket.io-client lib上添加了日志记录。在 https://github.com/LearnBoost/socket.io- client/blob/master/dist/socket.