Web services 输入可选参数
我必须使用Web services 输入可选参数,web-services,rest,http,put,Web Services,Rest,Http,Put,我必须使用PUT作为发送更改的方法来实现web服务。此服务用于更改配置。因此,例如,如果我将{“varA”:true}发送到url/configurationchage它会设置相应的变量,如果我发送{“varB”:true}它会在不影响varA的情况下更改varB 我一直认为,PUT(在谷歌上搜索,似乎我是对的)只是覆盖了资源(如果不存在,则创建资源)。我认为这意味着我必须发送所有变量,否则未发送的变量将被删除。那么,这个web服务的行为正确吗 举例说明 PUT {"varA":true} Re
PUT
作为发送更改的方法来实现web服务。此服务用于更改配置。因此,例如,如果我将{“varA”:true}
发送到url/configurationchage
它会设置相应的变量,如果我发送{“varB”:true}
它会在不影响varA
的情况下更改varB
我一直认为,PUT
(在谷歌上搜索,似乎我是对的)只是覆盖了资源(如果不存在,则创建资源)。我认为这意味着我必须发送所有变量,否则未发送的变量将被删除。那么,这个web服务的行为正确吗
举例说明
PUT {"varA":true}
Resource content: {"varA": true}
PUT {varB:true}
- 发生:
资源内容:{“varA”:true,“varB”:true}
- 我认为应该发生什么:
资源内容:{“varB”:true}
不,不是。您可能想看看PATCH方法(请参见)您自己说过“如果不存在,则创建它”。基本上,对SETVARB的第二次调用是查找用第一次PUT设置的对象(即varA),这样服务器对象就不会同时包含这两个值。