私のノード システムには、Express Gateway を介してアクセスできる API を公開しているサーバーがあります。req.body
私のAPIを使用しているアプリに応じて、にいくつかのパラメータを強制的に追加したいと思います。
これを行うために、私はパーソナライズされscope
た価値を使用します。たとえば、API を使用して App1 と App2 (資格情報を含む) があります。したがって、たとえば credentialsapp1
では、 App1 資格情報とapp2
App2 資格情報のスコープにスコープを追加します。
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変換を見てみると、 のaction
was not 属性でしrequest-transformer
た。インデントが悪い。