Как объединить несколько ответов с одной конечной точкой шлюза, используя шлюз express - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь создать конечную точку на шлюзе, которая будет вызывать несколько вызовов служб и объединять их в одном ответе. Это возможно с express -gateway?

Это мой gateway.config.yml.

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, он вызовет serviceEndpoints 'api, uuid, agent' и объединит их все в один ответ. Это возможно?

1 Ответ

0 голосов
/ 14 января 2020

Express К сожалению, шлюз не поддерживает такой сценарий. Вам нужно будет написать свой собственный плагин - но это будет не так просто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...