質問
RESTコネクターのリクエストボディとして、以下のJSONスキーマを設定しようとしています。
{
"testCall": {
"Header": {
"msgType": "request",
"tranId": "XXXX00020250421000000"
},
"Data": {
"DataId": "001",
"testData": "テストデータ001"
}
}
}
しかし、マッピングを行ったところ実際のボディは以下のようになっていました。
{
"msgType": "request",
"tranId": "XXXX00020250421000000",
"Header": "XXXX00020250421000000",
"DataId": "001",
"testData": "テストデータ001",
"Data": "テストデータ001",
"testCall": "テストデータ001"
}
マッピングのどこに問題があるのでしょうか?
回答
JSONスキーマの[type]属性にデータ型を指定していないことが原因です。
上記の例では「testCall」「Header」「Data」の3要素がオブジェクト型、それ以外が文字列型であるため、前者には「object」、後者には「String」をそれぞれの[type]属性にマッピングする必要があります。※データ型には、実際のJSONデータに適したものを設定してください
[単一行文字列定数]ロジックで「object」と「String」を各要素の[type]属性にマッピングすることで、
ご要望のJSONスキーマを得ることが可能です。
補足
マッピングキャンバスにアイコンがたくさんあり処理内容が見づらくなってしまう場合は、レイヤ機能が便利です。
上記例では、データ型の代入を別レイヤ内で行っています。
レイヤ機能につきましては、下記FAQもご参照ください。
コメント
0件のコメント
記事コメントは受け付けていません。