Недавно я столкнулся с проблемой, когда пытался передать несколько данных
.
Проблема:
API использует POST для отправки параметров
Один из параметров предназначен для возможности принимать несколько значений с одним и тем же именем / ключом.
В GET это можно представить так: / api? Name = James & name = Peter & name = Richard &…
В этом примере мы отправляем 3 значения для «имени» (Джеймс, Питер и Ричард), и это совершенно правильно, поскольку API ожидает этого и будет обрабатывать значение так, как должно.
Проблема сейчас заключается в POST. В PHP cURL параметр POST отправляется так:
$data = array("name" => "James", "email" => "james@someone.com");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
Теперь мы все знаем в массиве, мы устанавливаем ключ только один раз. Таким образом, в этом случае нет способа отправить 3 разных значения для «имени». Итак, как нам посылать? Name = James & name = Peter & name = Richard POST, но не PHP на этот раз, а в формате HTTP curl?
Итак, как мне отправить несколько данных в HTTP-сообщении примерно так
{
"funcrr":"create_insert_new_delivery",
"data":{
"name":"James",
"email":"james@someone.com",
//MORE OF LIKE AN ARRAY BUT IN HTTP FORM
"product_name":"Pear",
"product_weight":"30",
"product_name":"Rice",
"product_weight":"60",
"product_name":"Yoghury",
"product_weight":"100",
}
}