メインコンテンツまでスキップ

ファイルの項目でファイル容量をレスポンスに追加するにはどうしたら良いですか?

対象のファイルサイズを取得してレスポンスに追加するカスタム処理を作成し、エンドポイントの後処理に設定することで対応ができます。
ファイルサイズの取得にはrcms_file_sizeのSmartyプラグインが利用できます。

カスタム処理に設定

カスタム処理編集の画面から以下のコードを設定したカスタム処理を作成します。

備考

以下のコードはファイルの項目にfilesのslugを設定しているdetailsのエンドポイントを前提として書いています。
ご自身の設定に合わせて調整ください。

{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}

エンドポイントの後処理に設定

追加したカスタム処理を対象のエンドポイントの後処理に設定します。

Image from Gyazo

動作確認

エンドポイントのレスポンスをSwagger UIで確認すると、以下のように、filesの項目にfile_sizeのレスポンスが追加されていることが分かります。

Image from Gyazo

関連ドキュメント


サポート

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。