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我正试图阐明我的观点,该版本与此上下文无关。