0

私のノード システムには、Express Gateway を介してアクセスできる API を公開しているサーバーがあります。req.body私のAPIを使用しているアプリに応じて、にいくつかのパラメータを強制的に追加したいと思います。

これを行うために、私はパーソナライズされscopeた価値を使用します。たとえば、API を使用して App1 と App2 (資格情報を含む) があります。したがって、たとえば credentialsapp1では、 App1 資格情報とapp2App2 資格情報のスコープにスコープを追加します。

gateway.config.ymlファイルに次のように記述します。

   ...
      - request-transformer:   
        - condition:
          name: allOf
          conditions:
              -
                name: regexpmatch
                match: ^/user/signup?(.*)$                 
              -
                name: expression
                expression: "apiEndpoint.scopes.indexOf('app1')>=0"
        - action:
          body:
            add:
              custom_field: "'app1'"   
        - condition:
          name: allOf
          conditions:
              -
                name: regexpmatch
                match: ^/user/signup?(.*)$                 
              -
                name: expression
                expression: "apiEndpoint.scopes.indexOf('app2')>=0"
        - action:
          body:
            add:
              custom_field: "'app2'"   

しかし、私はこのエラーが発生します:

     error: Policy request-transformer params validation failed: 
data should have required property '.headers', 
data should have required property '.body', 
data should match some schema in anyOf
    (node:17362) UnhandledPromiseRejectionWarning: Error: POLICY_PARAMS_VALIDATION_FAILED

============

実際にJSON変換を見てみると、 のactionwas not 属性でしrequest-transformerた。インデントが悪い。

4

1 に答える 1