骆驼如何将授权标头添加到休息路线?

Posted

技术标签:

【中文标题】骆驼如何将授权标头添加到休息路线?【英文标题】:Camel how do I add an authorisation header to a rest route? 【发布时间】:2019-12-30 12:48:09 【问题描述】:

我正在尝试向我的骆驼休息路线添加授权标头。路线如下:

    restConfiguration().producerComponent("http4").host(env.getProperty("my.rest.host"));
    from(env.getProperty("in.route"))
            .to(env.getProperty("rest.endpoint.path"))

我熟悉“非骆驼”程序,例如使用 RestTemplate,您可以在其中执行 setHeader("Authorisation", "Bearer myJWT...") 之类的操作。我原以为骆驼也会有同样简单的东西。但是我的搜索到目前为止还没有成功!谁能给个提示?

谢谢:)

【问题讨论】:

【参考方案1】:

使用交换和更新标头

 from(env.getProperty("in.route")).process(new  Processor 
    public void process(Exchange exchange) throws Exception 
        //you token logic
        String token = "--token logic-------"
        exchange.getIn().setHeader("Authorization", token)

    
).to(env.getProperty("rest.endpoint.path"))

【讨论】:

谢谢,顺便说一下,Bearer Token JWT 类型授权应该是:.setHeader("Authorization", constant("Bearer MyToken")) ? 嗨 @JohnnyAlpha 我可以更新答案吗,请看一下,如果需要,您可以从交换中检索参数

以上是关于骆驼如何将授权标头添加到休息路线?的主要内容,如果未能解决你的问题,请参考以下文章

使用ftl进行骆驼休息响应

如何从 HTML 页面使用 apache 骆驼休息端点上传 txt 文件

Apache骆驼休息服务

Apache Camel - Spring 休息端点参考

在 Java 中运行时添加骆驼路线

如果通过 Zuul API 网关发送请求,则缺少授权标头