Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerREST バリデーター拡張機能では、RAML または OAS 仕様を使用するスキーマ検証を要求の属性に対して実行できます。また、この拡張機能では、デフォルト値が属性に追加されます (要求でまだ設定されていない場合)。
特に記載がない限り、このドキュメントは REST バリデーター拡張機能 v2.x にのみ適用されます。Mule Runtime Engine (Mule) アプリケーション XML などの Mule アーティファクトで REST バリデーター拡張機能を使用するには、以下の作業を行う必要があります。
pom.xml
ファイルの <dependencies>
セクションに次のスニペットを追加して、REST バリデーターを Mule アーティファクト (Mule アプリケーション XML など) に含めることができます。
<dependency>
<groupId>com.mulesoft.anypoint</groupId>
<artifactId>mule-rest-validator-extension</artifactId>
<version>${restValidatorVersion}</version>
<classifier>mule-plugin</classifier>
</dependency>
ベストプラクティスとして、使用する REST バリデーターのバージョンで <properties>
セクション内に Maven プロパティを定義することをお勧めします。
<properties>
<restValidatorVersion>2.1.3</restValidatorVersion>
</properties>
Mule アーティファクトで REST バリデーター操作を使用するには、次の名前空間とスキーマを含めます。
xmlns:rest-validator="http://www.mulesoft.org/schema/mule/rest-validator"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/rest-validator http://www.mulesoft.org/schema/mule/rest-validator/current/mule-rest-validator.xsd"
REST バリデーター拡張機能を設定するには、Mule アーティファクトに次の構文を追加します。
<rest-validator:config name="validatorConfig" api="${specFile}"/>
このスニペットには、設定に必要な属性が含まれます。追加属性を指定して、拡張機能をカスタマイズできます。次の例は、戦略を非逐次化する属性を使用する方法を示しています。
<rest-validator:config name="configValidator" api="${specFile}" keepApiBaseUri="true">
<rest-validator:attributes-deserializing-strategies arrayHeaderDelimiter="COMMA"/>
</rest-validator:config>
REST バリデーターを設定したら、バリデーター操作の使用を開始できます。
操作名
validate-request
説明
設定で指定された RAML または OAS 仕様に対して要求を検証します。
使用例
<rest-validator:validate-request config-ref="validatorConfig"/>
属性の説明
次の表に、属性と説明を示します。
属性 | 説明 | 必須かどうか |
---|---|---|
|
検証する属性を抽出する DataWeave 式。デフォルト値: #[attributes] |
いいえ |
|
検証するペイロードを抽出する DataWeave 式。デフォルト値: #[payload] |
いいえ |
|
REST バリデーターの設定。 |
はい |
Output (出力)
定義されたスキーマに要求が違反していない場合、検証は正常に終了し、操作の結果で HTTP 要求属性は変更されません。違反している場合、デフォルト値がスキーマ検証に追加され、元の HTTP 要求属性と新しい HTTP 要求属性が出力に含まれます。
エラー種別
「validate-request」操作では、ファイルの取得時に問題が発生した場合や、検証が正常に終了しなかった場合に各種エラーが発生する可能性があります。
REST-VALIDATOR:BAD_REQUEST
一部の属性がスキーマと一致しない場合、エラーが発生します。以下のような属性が検証中に考慮されます。
フォームパラメーター
ヘッダー
クエリパラメーター
URI パラメーター
REST-VALIDATOR:METHOD_NOT_ALLOWED
スキーマで必須リソースの特定のメソッドがサポートされていない場合、エラーが発生します。
REST-VALIDATOR:RESOURCE_NOT_FOUND
ルートスキーマまたは一部の関連ファイルを取得できない場合、エラーが発生します。
次の表で、バリデーター拡張機能で設定する属性について説明します。
属性 | 説明 | 必須かどうか |
---|---|---|
|
設定の一意の識別子。 |
はい |
|
2.0.0 以降のバージョンの REST バリデーターを使用している場合、 |
はい |
|
要求の検証に使用されるパーサー。
|
いいえ |
|
デプロイ済みアプリケーションの URI を使用して、仕様の 2.0.0 以降のバージョンの REST バリデーターを使用している場合、 |
いいえ |
|
要求のすべてのクエリパラメーターが仕様ファイルで定義されているかどうかを検証します。一部のパラメーターが指定されていない場合、検証は失敗します。デフォルト値は |
いいえ |
|
仕様で定義されているすべての必須ヘッダーが要求で定義されているかどうかを検証します。一部のパラメーターが指定されていない場合、検証は失敗します。デフォルト値は |
いいえ |
attributesDeserializingStrategies` |
カンマで区切られた値の配列が含まれる HTTP ヘッダーの解析を許可します。 |
いいえ |
REST バリデーター (pom.xml
連動関係) は、ドメインを使用してアプリケーション間で共有できます。ただし、それらのアプリケーションの一部に APIKit の連動関係もある場合、各アプリケーションのそのバージョンの APIKit と、ドメインで使用する REST バリデーターのバージョンで必要な APIKit が一致している必要があります。
次の互換性の表に従うと、たとえば、ドメインで REST バリデーター v2.2.0 を使用している場合、APIKit を使用しているすべてのアプリケーションで 1.4.2 バージョンをインポートする必要があります。
REST バリデーターバージョン | ApiKit REST Module バージョン |
---|---|
2.2.4 |
1.9.0 |
2.2.3 |
1.8.3 |
2.2.2 |
1.7.0 |
2.2.1 |
1.5.3 |
2.2.0 |
1.4.2 |
2.1.3 |
1.3.17 |
2.1.2 |
1.3.11 |
2.1.1 |
1.3.5 |
2.1.0 |
1.3.5 |
2.0.0 |
1.2.0 |
1.2.0 |
1.1.16 |
1.1.1 |
1.1.1 |