我通过 Postman API 中的 POST 方法获取一个数组,获取后,我尝试拆分该数组,然后将每个数组值分配给一个变量,将其存储在 XML 代码中,并将该 XML 代码发送到服务器。我知道我的代码在数组拆分方面写错了。这是我的 POSTMAN API: 服务器错误响应
我知道这个错误是因为我的代码中的数组语法导致请求无法处理到服务器,这是我的代码:
<?php
public function price(Request $request)
{
$information = $this->validate($request, [
'prices' => 'required'
]);
$prices = $information['prices']; //Getting the array from postman api
list($array1, $array2, $array3, $array4, $array5) = array_chunk($prices, 1); //assigning variables
$xml = "<?xml version='1.0' encoding='UTF-8'?>
<methodCall>
<methodName>update_plan_prices</methodName>
<params>
<param>
<value>
<struct>
<value>
<array>
<data>
<value>
<int>" . $array1 . "</int>
</value>
<value>
<int>" . $array2 . "</int>
</value>
<value>
<int>" . $array3 . "</int>
</value>
<value>
<int>" . $array4 . "</int>
</value>
<value>
<int>" . $array5 . "</int>
</value>
</data>
</array>
</value>
</struct>
</value>
</param>
</params>
</methodCall>
";
$url = "https://my_server_url/";
$send_context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/xml',
'content' => $xml
)
));
$response = file_get_contents($url, false, $send_context);
return response()->json($response);
}
?>
答案1
我已经做到了。通过以以下形式在 POSTMAN 发布请求中发送数组:
“价格”:10,20,30,40,50
然后在代码中,当我调用发布请求时,我以这种形式划分数组(而不是使用 array_chunk,我使用了 explode):
<?php
$prices = $information['prices']; //$information variable has the post request result
list($price1, $price2, $price3, $price4, $price5) = explode(',', $prices);
?>
并以这种形式发送 XML 代码:
<value>
<array>
<data>
<value>
<int>" . $price1 . "</int>
</value>
<value>
<int>" . $price2 . "</int>
</value>
<value>
<int>" . $price3 . "</int>
</value>
<value>
<int>" . $price4 . "</int>
</value>
<value>
<int>" . $price5 . "</int>
</value>
</data>
</array>
</value>