ファイルの項目でファイル容量をレスポンスに追加するにはどうしたら良いですか?
後処理の出力変換リストを使う方法と、後処理にカスタム処理を設定する方法があります。 以下を参考に設定してください。
出力変換リストを使う方法
エンドポイントの後処理に設定
Topics::listのエンドポイントの後処理に以下の設定を追加します。
備考
以下の設定はファイルの項目にfiles
のslugを設定しているTopics::listのエンドポイントを前提として書いています。
ご自身の設定に合わせて調整ください。
項目 | 設定 |
---|---|
実行内容 | 出力変換リスト |
操作 | コピーする |
項目 | list.files.url |
新しい項目 | file_size |
処理 | FileSize |
カスタム処理を設定する方法
対象のファイルサイズを取得してレスポンスに追加するカスタム処理を作成し、エンドポイントの後処理に設定します。
ファイルサイズの取得にはrcms_file_sizeのSmartyプラグインを利用します。
カスタム処理を作成
カスタム処理編集の画面から以下のコードを設定したカスタム処理を作成します。
備考
以下のコードはファイルの項目にfiles
のslugを設定しているTopics::listのエンドポイントを前提として書いています。
ご自身の設定に合わせて調整ください。
{foreach from=$json.list key=key item=details}
{if isset($details.files) && $details.files.url_org}
{assign var='file_url' value=$details.files.url_org}
{assign var='file_size' value=$file_url|rcms_file_size}
{assign_array_set var="json.list.$key.files" key="file_size" value=$file_size from=$json.list.$key.files}
{/if}
{/foreach}
{assign var='processed_json' value=$json}
エンドポイントの後処理に設定
追加したカスタム処理を対象のエンドポイントの後処理に設定します。
動作確認
エンドポイントのレスポンスをSwagger UIで確認すると、以下のように、files
の項目にfile_size
のレスポンスが追加されていることが分かります。
注意
「ファイル(GCSにアップロード)」「ファイル(S3にアップロード)」の項目には対応しておりませんのでご注意ください。
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。