据我所知,REST中PUT和POST方法的主要区别在于POST请求将创建一个新记录,其中PUT请求将更新现有记录/创建新记录(如果不存在)。
现在我的问题是:假设我们在数据库中有一个Id = 1且name =“Pritam”的用户。现在,如果我尝试使用请求主体Id = 1和name =“Pritam”发出POST请求,那么会发生什么。 (重复记录)。将创建新记录或确切发生什么。
请帮助我理解PUT和POST方法之间的区别。何时使用PUT和何时在实时场景中使用POST。
据我所知,REST中PUT和POST方法的主要区别在于POST请求将创建一个新记录,其中PUT请求将更新现有记录/创建新记录(如果不存在)。
那是不对的。 (这也不是你的错 - 误解是常见的)。目前,RFC 7231描述了POST和PUT语义的真正差异。
假设我们在数据库中有一个Id = 1且name =“Pritam”的用户。现在,如果我尝试使用请求主体Id = 1和name =“Pritam”发出POST请求,那么会发生什么。 (重复记录)。将创建新记录或确切发生什么。
这些是实施细节;确切地说,REST API使客户端无需理解(就客户端而言,服务器只是一个网站)。
您域中的“正确”内容可能是:
这些事情都不是通过魔法发生的,你实际上必须选择对你的情况有意义的东西并实现它,然后找出正确的方法来描述HTTP响应体内发生的事情,以及要包含在元数据中的信息这样通用组件就可以智能地参与交换。