JMeterでAPIに画像とBodyをPOSTしようとしたら、画像しかアップロードされませんでした😿
現象
- Apache JMerter 5.6.3
- Laravel 11.6.0
Route::post('/', function (Request $request) { Log::info("リクエスト", [$request->all()]); $request->image->store('image'); return null; });
ログ出力結果
[2024-05-03 02:33:03] local.INFO: リクエスト [{"image":{"Illuminate\\Http\\UploadedFile":"/tmp/phpqIQcRI"}}]
画像は送られてきているし、アプリケーションに保存もできているけど、Body Dataに設定したidが出力されない… 🤔
解決策
apollovさんが解決策を提示してくださってました🙏 stackoverflow.com
Bodyに記述するのではなく、ParametersのところにJSONとして設定すればいいようです。
idも画像もどっちもリクエストできました😺
[2024-05-03 03:08:28] local.INFO: リクエスト [{"id":"1","image":{"Illuminate\\Http\\UploadedFile":"/tmp/phpjPgv1Y"}}]
Postmanだとこんなことしなくてもリクエストできてたので。