Когда я отправляю данные в приложение Rails 4 с Content-Type: "application/x-www-form-urlencoded", я могу получить тело запроса с помощью request.body.read
Однако, когда я отправляю данные с Content-Type «application/json», request.body.read пуст, если я сначала не вызову request.body.rewind.
Два вопроса:
1.) Как получить необработанное тело запроса без предварительного вызова перемотки потока?
2.) Можно ли остановить Rails (или Rack) при разборе JSON в теле запроса, когда клиент отправляет application/json типа контента
Обратите внимание, что в Rails 3, как и в Rails 4, проанализированный JSON доступен в параметрах, но request.body.read не требует предварительной перемотки.