Вы путаете HTTP-глагол с фактической полезной нагрузкой.Ничто не мешает вам использовать составную нагрузку для PUT.POST может использоваться для создания новых ресурсов, но вы обычно размещаете сообщения на другой URL.Как побочный эффект, новый ресурс может быть создан и возвращен в заголовке Location.PUT используется, если у вас уже есть URL-адрес ресурса.
REST! = CRUD.
Успокоительная архитектура заставляет вас думать о ресурсах.Таким образом, «report» может быть хорошим кандидатом на ресурс.
Вы можете поместить свои параметры отчета в POST, например, в каталог /..../reports (например), и таким образом создать новый ресурс отчета.Поместите URL-адрес отчета в указанный заголовок Location и используйте GET для фактического получения данных отчета (или возврата данных отчета сразу)