我对具有可选参数的put方法有点困惑。
假设模式为
Pet {
name
catagory
tag (optional)
}
当我想创建宠物时,可以使用post方法,可以省略
tag
标签。
当我想更新宠物时,问题来了。根据http规范,PUT
方法将通过替换整个资源来更新实体,这意味着我需要传递tag
参数。如果我没有传递tag
,默认值将为空,但会导致现有的标记被覆盖为空。对于
patch
方法,它只更新部分参数,无论是否是可选的。很容易理解。我不知道是否有误解,目前在PUT方法中,我需要找出传递了哪些参数,然后更新相应的字段。但这似乎与
PATCH
方法相同。