Как принять Request Payload?

Silentland

Новичок
В терминологии консоли Гугл Хрома POST-данные передаются в поле Request Payload. В $_REQUEST эти данные не записываются. Как их принять? И что это за поле такое? И чем оно лучше Form Data? Почему его во всех реализациях REST используют?

Пока нагуглил только file_get_contents('php://input'), но тоже пока не понятно, куда это совать.
 

Silentland

Новичок
Вроде как получилось доставать данные через конструкцию json_decode(trim(file_get_contents('php://input')),1), но все равно расскажите о Request Payload, чем такая передача лучше Form Data?
 

fixxxer

К.О.
Партнер клуба
Логичностью. Нужен ведь просто json. Зачем гонять application/x-www-form-urlencoded и единственное поле, если можно application/json и json в теле?

Удобстно написания кода на конкретном языке (PHP) - это вопрос, не относящийся к проектированию универсальных API. Какие-нибудь ruby on rails прекрасно поймут application/json.
 

Silentland

Новичок
Можно, вообще, делать так:
PHP:
$_POST = json_decode(file_get_contents('php://input'), true);
:)
 

Silentland

Новичок
Вурдалак, от кого? :) ну мало ли серверная часть так написана, что напрямую $_POST использует, а виновник давно уволился :)
 
Сверху