RESTAPI对请求使用了错误的动词

RESTAPI对请求使用了错误的动词,rest,Rest,我读到PUT用于创建或更新资源,而POST用于创建资源 如果我使用POST更新资源会发生什么 一般来说,如果我对错误的请求使用了错误的动词,会发生什么。例如,如果我使用GETrequest在后端数据库中创建一个新条目,会发生什么 如果我使用POST更新资源会发生什么 如果您是开发人员,那么除了使用API用户和不使用RESTful最佳实践之外,什么都不会发生 为了更好地理解2之间的区别,以及为什么遵循指南更好,您可以参考 例如,如果我使用GET请求在后端数据库中创建一个新条目,会发生什么 与上面的

我读到
PUT
用于创建或更新资源,而
POST
用于创建资源

如果我使用
POST
更新资源会发生什么

一般来说,如果我对错误的请求使用了错误的动词,会发生什么。例如,如果我使用
GET
request在后端数据库中创建一个新条目,会发生什么

如果我使用POST更新资源会发生什么

如果您是开发人员,那么除了使用API用户和不使用RESTful最佳实践之外,什么都不会发生

为了更好地理解2之间的区别,以及为什么遵循指南更好,您可以参考

例如,如果我使用GET请求在后端数据库中创建一个新条目,会发生什么

与上面的答案相同,不是出于平静的精神,也不是最佳实践。但我认为这是对HTTP协议的误解:

GET:更适合于要求某些东西

POST:更适合在提供信息的同时要求一些东西(它是这样的:嘿,服务器!这里有一些数据,并根据它们为我生成一些数据。这就是为什么它通常用于更新的原因,因为它有一个有效负载,所以基本上POST=GET+有效负载)


询问是否可以使用GET在数据库中创建新的更新是没有意义的,因为GET通常只用于请求数据。GET在URL中直接嵌入的有效负载信息有限,因此无法很好地将URL与有效负载分开。

这都是关于
语义的

根据,

邮政设计为[……]


因此,没有人可以强制您应用这些规则,即使它的设计目的是以某种方式使用(我会说是一种合适的方式)。

从技术上讲,您可以编写RESTful api来执行您希望它执行的任何操作,但存在最佳实践和指导原则的原因是为了提供标准化。因此,那些使用API的人理解需要什么,因为它在语义上是正确的。违反标准REST原则也将是维护的噩梦。请使用RFC 7230-7237中指定的较新版本,而不是过时的RFC 2616。@RomanVottner我正试图阐明我的观点,该版本与此上下文无关。