0

我有要添加值的模拟数据。特别是有一个 users 对象,每个用户都有一个 rating 属性,它是一个从 1 到 5 的数字数组。我想向这个数组添加更多值。我试过这样:

this.http.post(`api/users?id=${userId}/rating`, rate, this.cudOptions)

但没有值被添加到数组中。

这是用户对象:

export var users = [
    {
        "id": 0,
        "firstName": "Stanford",
        "lastName": "Reilly",
        "username": "StanfRei",
        "password": "StanfRei",
        "email": "StanfRei@.email.com",
        "cars": [...],
        "recentCars": [...],
        "observedCars": [...],
        "rating": [
            3,
            5,
            3,
            2,
            1,
            3,
            5,
            5,
            5,
            2,
            5,
            1
        ]
    },
    {...}
]

使用 get 恢复数据没有问题。
我没有错误。
我在官方文档和互联网上都没有找到任何帮助。
您如何发布以在用户的​​评分数组中插入新值?谢谢

4

1 回答 1

0

没有其他依赖项(如 InMemDataService)的代码。所以很难假设你的来源。也许您可以使用 put 而不是 post 来更新。

this.http.put(`api/users?id=${userId}/rating`, rate, this.cudOptions)

如果它不起作用,请尝试以下操作,您必须使用整个用户对象作为请求正文,而不是单独使用 rate。

使用相同的用户 ID,使用更新的速率数组发送完整的用户对象,它应该可以工作。

let user = {
    "id": 0,
    "firstName": "Stanford",
    "lastName": "Reilly",
    "username": "StanfRei",
    "password": "StanfRei",
    "email": "StanfRei@.email.com",
    "cars": [...],
    "recentCars": [...],
    "observedCars": [...],
    "rating": [
        3,
        5
    ]
}

this.http.put(`api/users/${user.id}`, user)
于 2021-06-20T04:10:14.710 回答