我是编程的初级,我在REST API上工作,我有一个问题,如标题所示。我的意思是,服务器如何处理REST API请求?创建一个新文件并将数据存储在新创建的文件中?将数据存储在单个(仅一个)文件中,就像数据库一样? 例如:
POST http://www.example.com/customers
POST http://www.example.com/customers/12345/orders
服务器将对这两个请求做什么? 任何建议将不胜感激。
答案 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所具有的许多优势。