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