服务器端将为REST API请求做什么?

时间:2016-01-29 10:14:01

标签: rest server

我是编程的初级,我在REST API上工作,我有一个问题,如标题所示。我的意思是,服务器如何处理REST API请求?创建一个新文件并将数据存储在新创建的文件中?将数据存储在单个(仅一个)文件中,就像数据库一样? 例如:

POST http://www.example.com/customers

POST http://www.example.com/customers/12345/orders

服务器将对这两个请求做什么? 任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

POST是HTTP最无约束的方法:它可以做任何事情。缺点是请求既不是幂等的也不是安全的,这意味着客户端无法安全地重复请求而不会产生意外的副作用。

有一段时间,HTTP规范措辞有点奇怪,说“POST会创建一个子资源”。这已在更新版本中清理过,现在POST实际上被描述为无约束的方法:服务器可以执行任何操作,这意味着它可以存储,处理或执行任何其他操作。

HTTP / 1.1语义:https://tools.ietf.org/html/rfc7231#section-4.3.3

GET和PUT有点不同,因为在使用它们时,假设它们可以被幂等地使用(GET)或安全地使用(PUT)。其他HTTP方法也适用于幂等,安全或不属于这个的框架。

并非我建议这样做,但理论上你只能使用POST来使用有效的HTTP REST API,因为POST真的可以做任何事情。但这将是一个设计非常糟糕的API,缺乏精心设计的HTTP REST API所具有的许多优势。