Код: Выделить всё
curl -v --trace-ascii - -X POST https://dev-server/api/intake -H "Authorization: Bearer $token" -F 'data={"json":{"Yep": "this is JSON"}};type=application/json'
Код: Выделить всё
POST /api/intake HTTP/2
Host: dev-server
User-Agent: curl/8.5.0
Accept: */*
Authorization: Bearer long-token-here
Content-Length: 213
Content-Type: multipart/form-data; boundary=------------------------lQNQ3xgpz1neU0tlQTPXnF
--------------------------lQNQ3xgpz1neU0tlQTPXnF
Content-Disposition: form-data; name="data"
Content-Type: application/json
{"json":{"Yep": "this is JSON"}}
--------------------------lQNQ3xgpz1neU0tlQTPXnF--
Даже пытаться разобрать тело самостоятельно вместо того, чтобы позволить PHP сделать это, нецелесообразно.
Код: Выделить всё
// This returns an empty string, presumably because `php://input`
// is not available for "multipart/form-data" requests
$message->getBody()->getContents();
// (I can't globally disable the `enable_post_data_reading` php.ini setting,
// because other parts of the application rely on it, and doing it via `ini_set`
// seems to have no effect.)
(Я знаю, что могу просто сделать весь запрос application/json< /code> запрос. Это не моя цель; я хочу использовать составной запрос.)
Подробнее здесь: https://stackoverflow.com/questions/790 ... tinterface