我有一个REST服务,允许使用PATCH部分更新记录。例如,假设REST服务在名称记录上运行,其中name有三个字段 - 名字,中间名和姓。我的用户记录" Jane Q.用户"在JSON中看起来像这样:
{
"first" : "Jane",
"middle" : "Q.",
"last" : "User"
}
现在Jane Q.用户合法地将她的姓改为" Admin"并希望我的服务退出显示她的中间名。她的新名字是" Jane Admin"。 她应该提交一个带有新姓氏的PATCH请求,并将中间值设置为空字符串以清除她的中间名这样吗?
PATCH /myservice/users/1
{
"middle" : "",
"last" : "Admin"
}
答案 0 :(得分:0)
PUT /myservice/users/1
{
"first" : "Jane",
"last" : "User"
}
这将取代用户记录。
但是,根据记录的潜在大小,PATCH更容易,因此如果您还要/或使用PATCH进行更新,我建议使用空值。
PATCH /myservice/users/1
{
"middle" : null
}
但是......如果您的API在响应中返回空值(我个人不喜欢),那么为了保持一致性,空值可能会更有意义..
PATCH /myservice/users/1
{
"middle" : ""
}
然而,您最终会这样做,只需确保您的一致性,并在记录您的API时,请调用此功能。
干杯。