为了防止Angular 7 HTTP put方法去除undefined属性,您可以使用Object.assign()方法将对象合并。在这种情况下,您可以将HTTP put中的请求体对象与服务器上的已存在对象进行合并。 这样做可以保留undefined属性,并将已存在的属性覆盖为新值。
以下是代码示例:
let requestBody = { name: 'John', age: 30, gender: undefined };
let existingObj = { name: 'John', age: 25, gender: 'Male', address: '123 Main St' };
let mergedObj = Object.assign({}, existingObj, requestBody);
// mergedObj = { name: 'John', age: 30, gender: undefined, address: '123 Main St' }
在此示例中,我们创建了一个请求体对象并将其与现有对象合并。 在合并后的对象中,undefined属性得以保留,现有属性也得到了更新。您现在可以将mergedObj对象用于Angular 7 HTTP put请求中,以确保undefined属性不会被去除。