执行 PUT 请求以更新整个项目或删除 + 发布会更好吗?

当这个问题出现时,我正在尝试更新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是否需要进行更准确的更改才能使其生效?


您如何看待“先删除,后发布下一个”解决方案?它会更有效率吗?


谢谢大家的帮助!


子衿沉夜
浏览 64回答 1
1回答

慕容708150

如果您确定旧对象未引用其他数据,则可以执行delete_post,但是如果它与其他一些数据相关,则它不是正确的解决方案。
打开App,查看更多内容
随时随地看视频慕课网APP