ステップのルール
シミュレーションファイルにルールを定義し、送信または受信するメッセージの選択を自動化します。たとえば、値を確認し、正しいサービスに一致させるルールを設定できます。
ルールは常にステップと一緒に使用され、各ルールは TRUE またはfalseのいずれかとして評価されます。ステッププロパティのトリガー、バッファ、検証、挿入、または保存のためにルールを使用することができます。
こちらの表で、すべての利用可能なルールプロパティを見つけられます:
|
ルールプロパティ |
説明 |
例 |
|---|---|---|
|
count |
このルールをjsonPathまたはxPathプロパティと一緒に使用してください。Whenever there are multiple elements within a message with a specific path, APIシミュレーション verifies that the number of elements in a message corresponds to the defined value. |
5 |
|
DataType |
値プロパティのデータ型を指定します。データ型として、ブール値、日付、数値、パスワード、または文字列を使用します。 |
文字列 |
|
exists |
確認する要素が存在するかどうかを表示します。値が存在する場合はTRUEに設定し、存在しない場合はFalseに設定します。 |
True |
|
ペイロードまたは他のメッセージプロパティの値が保存されるパス、ファイル名、およびファイル拡張子を指定します。 |
/path/to/file.txt |
|
|
index |
要素が複数回発生する場合は、どの要素を使用するかを決定するためのインデックスを定義してください。例えば、同じ名前のヘッダーが2つあると仮定し、2つ目のヘッダーを使用する場合について考えます。この場合、インデックスは2となります。 |
2 |
|
このプロパティを使用して、JSON形式のメッセージ内の要素を見つけてください。要素へのパスを入力してください。プロパティ値を通じて要素の値を定義してください。 |
x.store.book[0].title |
|
|
このプロパティを使用して、特定のメッセージ要素を見つけてください。要素の名前を入力してください。メッセージ要素のタイプをタイププロパティで定義してください。キーを挿入したい場合は、値プロパティも追加して定義する必要があります。 |
myHeader |
|
|
name |
ルールプロパティの名前を定義します。 |
myBuffer |
|
このプロパティを使用して、「より大きい」や「より小さい」などの特定のプロパティ値の範囲を見つけてください。使用可能な演算子は、Equal、NotEqual、Less、LessOrEqual、Greater、GreaterOrEqual、またはInです。 |
Greater |
|
|
property |
Endpoint |
|
|
このプロパティを指定して、値の特定の部分を使用します。C# の範囲オペレータ仕様を使用します。2インデックスオペランドによって範囲を定義します。2 つのオペランドはいずれも省略可能です。計算では、カウントは0から始まります。左のインデックスは含まれ、右のインデックスは含まれません:
末尾からインデックスを取得するには、インデックスに加えてハット(^)オペレータ を使用します。例えば、..^4 は最後の4文字まで、または^4..までの全ての文字を取得します。最後の4文字の後から始まり、最後の文字で終わります。 |
例文 ..3はExaを付与します 3..^3 は mple tを付与します ^3.. extを付与します |
|
|
tree |
Defines a JSON or XML tree structure as the value of a payload element. |
コピー
|
|
メッセージのどの部分を操作するかを指定します。可能なタイプはヘッダー、メッセージプロパティ、クエリ、パス、またはマルチパートです。 パス以外のすべてのタイプについては、これらの特定のメッセージ要素を見つけるために、キープロパティを追加してください。 |
ヘッダー |
|
|
URI |
ルールの値として使用するURI、またはその一部を定義します。 |
/wait/for/me |
|
ルールプロパティの値を定義します。これは任意のテキストまたはブール値になります。 |
myValue |
|
|
valueBase64 |
This property provides a BASE64-encoded value if the original content contains special characters that aren't allowed in YAML. |
SGVsbG8gJiBnb29kYnll |
|
このプロパティを使用して、XPath形式のメッセージ内の要素を見つけることができます。要素へのパスを入力してください。プロパティ値を通じて要素の値を定義してください。 |
bookstore/book[price>35]/price |
こちらは、値を挿入する方法の例です:
-
インバウンドステッププロパティトリガーは、任意の値を含むパスプロパティを持つメッセージを待機します。If an incoming message meets this condition, APIシミュレーション sends a response.
-
アウトバウンドステッププロパティの挿入は、Hello world!という値を書き込みます。サービスのペイロードに対して行います。
schema: SimV1
name: default
services:
- name: Service01
steps:
- direction: In
trigger:
- uri: '*'
- direction: Out
insert:
- value: 'Hello world!'