如何在 Strapi 中使用 PUT API 请求更新数组

How to update array using PUT API request in Strapi

我想通过 PUT 请求更新产品“table”中的数组。 假设用户数组(产品有很多用户)

localhost:1337/api/products/2

我正在正文中发送数据

{
  "data": {
    "users": [4,6,8] //i want to push here next user but in json it is impossible [...users, newUser]
  }
}

问题是当我使用 put 时,我以前在数组中的值丢失了,因为这就是 PUT 的工作方式。

为什么我需要它?我使用 strapi 并且通过数组建立关系。我只需要更新数组。但是我不知道该怎么做。

也许我应该使用 redux 并将值推送到存储中的数组然后更新??

您可以使用展开运算符更新您的值。

a = {
  "data": {
    "users": [4,6,8]
  }
}

UpdatedValues = {
    ...a, data: {
        ...a.data, users:
            [...a.data.users, 'newValues']
    }
}
console.log(UpdatedValues);

您可以先更新数组并将其作为值发送到您的 API 请求。

oldArray = [1, 2, 3];
newArray = [...oldArray, "newValue"];

requestPayload = {
  data: {
    users: newArray,
  },
};

console.log(requestPayload)