做一个PUT请求来更新整个项目更好吗?还是DELETE+POST更好



当这个问题出现时,我正试图更新API上的一些客户记录。

首先,我从API请求客户对象,并将其转换为一个数组,我必须执行的更新是在第一个数组的基础上添加一个相当大的第二个数组,所以我决定这样做,然后使用update上传整个新数组以代替旧数组。

由于这是实际的API,并且我所做的每一个更改都将直接进入生产,所以我不确定这是否有效,我认为我总是可以删除旧对象并发出简单的POST请求来上传新对象。

这是用于上传新数组($response(的方法。

function updateReceipt($response, $receiptId, $uri4, $token){
$ch = curl_init();
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $uri4.$receiptId,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS => http_build_query($response),
CURLOPT_HTTPHEADER => array("Content-Type: application/json", "key: ".$token)
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$response = json_decode($response, true);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "Status code: $http_code ";
curl_close($ch);
return $updated;
}

那么,PUT方法会接受整个数组并更新客户记录吗?PUT是否需要进行更准确的更改才能写入?

您对DELETE first,POST next解决方案有何看法?它会更有效率吗?

谢谢大家的帮助!

如果您确信旧对象没有被其他数据引用,那么您可以执行delete_post,但如果它与其他数据相关,那么这不是正确的解决方案。

相关内容

最新更新