質問
クライアントからREST API ジョブへのPOSTリクエストのJSON形式のリクエストボディの情報をそのまま、
ストレージにCSVファイルとして出力する処理を実装しようとしています。
出力ファイルに想定するデータが出力出来ず、実装に困っています。
上記処理の実現可否とその方法について、ご示教ください。
回答
JSON形式のリクエストボディのデータをCSVファイルに出力したい場合、
リクエスト本文で取得したデータをCSV形式にマッピングする事で、実現が可能です。
まず、RETS API ジョブの仕様により、
受領したリクエスト本文データはJSONからXMLに変換されて入力スクリプト変数に格納されます。
リクエスト本文データをCSVファイルとして保存したい場合ですが、
JSONから変換されたXMLデータを入力スクリプト変数に取得した上で、
スクリプト変数に取得したXMLデータを任意の形式にマッピングしてCSVへ書き出す必要がある。
以下に実装例をご紹介させていただきます。
あくまで一例となりますので、お客様の要件に合わせて適宜調整いただければと存じます。
〇実装例
-
APIプロジェクトから呼び出すスクリプトにて、
データ型にXMLを指定したスクリプト変数を作成し、スクリプト入力変数として使用するにチェックを付ける。
-
XMLファイル書き込みコンポーネントを配置し、入力データに作成したXML型のスクリプト変数を指定する。
- APIプロジェクトのスクリプト本文の出力先設定で、作成したXML型のスクリプト変数を指定する。
- REST API ジョブを一度無効化して編集を行い、APIプロジェクトの更新を反映させた後に再度有効化する。
-
外部からのリクエストでREST API ジョブをコールし、手順2で作成したコンポーネントから
リクエスト本文のJSONデータをXML形式に変換してXMLファイルを作成する。
-
XMLファイル読み込みコンポーネントを配置し、作成したXMLファイルを読み込む。
- CSVファイル書き込みコンポーネントを配置し、読み込んだXMLファイルを任意の形式でマッピングして書き出す。
上記手順6-7については、APIプロジェクトから呼び出すスクリプトに直接実装しても問題ありません。
その場合、手順7のマッピングを実装するために事前にXMLファイルのスキーマを指定しておく必要があります。
コメント
0件のコメント
記事コメントは受け付けていません。