【问题标题】:Spring Integration and REST GatewaySpring 集成和 REST 网关
【发布时间】:2014-07-24 02:03:17
【问题描述】:

问题是关于特性/能力的。试图了解 Spring Integration 是否可用于为 RESTful Web 服务构建网关。本质上,希望构建一个代理/网关层来拦截对后端 REST 服务的所有调用并添加安全性、OAUTH、Throttling 等规则。我已经查看了 apache synapse、wso2 API Manager 并希望使用 Spring 构建类似的服务。

【问题讨论】:

    标签: spring-integration


    【解决方案1】:

    是的;从 Spring Integration 3.0(当前版本为 4.0.2)开始,您可以为 http 入站网关提供多个路径(foo/{bar}/baz/{qux})等。在以前的版本中,您需要为每个 URL 设置一个单独的网关,这将对于大型服务来说是不切实际的。

    根据复杂性,您可能需要考虑直接使用Spring MVC's ReST support 实现restful 前端,并在必要时使用Messaging Gateway 与后端Spring Integration 流交互。

    spring-security-oauth project 可用于 oauth。

    编辑:还有一个rest-http sample

    【讨论】:

    • 我试图从存储库中找到一个样本,但找不到我可以使用的样本。另外,我已经使用 spring security 实现了 oauth,并且需要连接到网关。任何指针都会有所帮助。
    • 我们目前没有 ReST 示例,但应该很简单,只需将 http samplepath 更改为 path=/receivegateway/foo/{bar},/receivegateway/baz/{qux} 等。http 网关在 Spring MVC 中运行 (它只是从 DispatcherServlet 的路径设置请求映射),因此应用安全层应该与任何 Spring MVC 应用程序相同。
    • 运行 http 示例,它似乎会接受输入并用附加文本回显它。但是,我正在寻找的是将输入转发到外部 REST 服务并将响应返回给客户端。
    • 正确 - 您需要配置出站网关,而不仅仅是在内部构建回复...inbound-gateway -> outbound-gateway
    • 对不起 - 忘了提到我们还有一个 rest-http 示例(编辑了我的答案)。
    猜你喜欢
    • 2013-08-21
    • 1970-01-01
    • 2014-07-01
    • 2012-05-21
    • 2018-06-15
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    相关资源
    最近更新 更多