首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用express网关将多个响应与单个网关端点组合在一起

如何使用express网关将多个响应与单个网关端点组合在一起
EN

Stack Overflow用户
提问于 2020-01-14 15:44:31
回答 2查看 447关注 0票数 1

我正在尝试在gateway创建一个端点,它将调用多个服务调用,并将它们组合到一个响应中。使用express-gateway可以吗?

这是我的gateway.config.yml。

代码语言:javascript
复制
http:
  port: 8080
admin:
  port: 9876
  host: localhost
apiEndpoints:
  api:
    host: localhost
    paths: '/ip'
  uuid:
    host: localhost
    paths: '/uuid'
  agent: 
    host: localhost
    paths: '/user-agent'

serviceEndpoints:
  httpbin:
    url: 'https://httpbin.org'
  uuid:
    url: 'https://httpbin.org'
  agent:
    url: 'https://httpbin.org'    
policies:
  - basic-auth
  - cors
  - expression
  - key-auth
  - log
  - oauth2
  - proxy
  - rate-limit
pipelines:
  default:
    apiEndpoints:
      - api
    policies:
    # Uncomment `key-auth:` when instructed to in the Getting Started guide.
      - key-auth:
      - proxy:
          - action:
              serviceEndpoint: httpbin 
              changeOrigin: true
  default-1:
    apiEndpoints:
      - uuid
    policies:
    # Uncomment `key-auth:` when instructed to in the Getting Started guide.
      - key-auth:
      - proxy:
          - action:
              serviceEndpoint: uuid 
              changeOrigin: true            
  default-2:
    apiEndpoints:
      - agent
    policies:
    # Uncomment `key-auth:` when instructed to in the Getting Started guide.
      - key-auth:
      - proxy:
          - action:
              serviceEndpoint: agent 
              changeOrigin: true

基本上,我希望将所有声明的serviceEndpoints合并到一条路径中。假设我触发了/ip,它将调用'api,uuid,agent‘serviceEndpoints并将它们组合到一个响应中。这有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2020-01-14 18:04:42

遗憾的是,Express Gateway并不真正支持这样的场景。你将不得不编写你自己的插件--但这不会那么容易。

票数 0
EN

Stack Overflow用户

发布于 2020-10-11 17:53:57

在这方面有多种建议的方法,你可以根据你的用例,技术堆栈,团队和技术技能和其他变量来权衡。

  1. 编写一个聚合服务来调用其他底层服务
  2. 让网关执行服务聚合、数据格式化等。这里的重要方面是确保您不会打破域边界。在网关上注入一些域逻辑和聚合的可能性很高,所以要非常小心。
  3. 查看了GraphQL库,它非常适合在标准REST apis之上公开,您可以定义模式和解析器。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59729362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档