为什么REST API方法名称很重要?因为我可以使用任何这些方法执行CRUD操作



在REST FULL API中具有某些方法名称,例如(Get,put,Post等(,以进行某些特定操作(CRUD(但是我可以使用任何方法

执行任何操作

DB操作的示例:

  1. 我可以使用Get创建或插入新文档,删除或更新 方法。

  2. 我可以使用Post方法发布,更新或删除。

  3. 我可以使用put方法删除,更新或删除。

    我可以使用任何此方法执行DB(crud(操作

那么,为什么需要此方法来指定何时调用任何休息的完整API?

它是基于HTTP标准的A justnuction 。休息是在配置范式上的约定之上构建的。也就是说,一组会议避免了大量的样板和配置。

例如,http 1.1标准说:

  • GET get方法表示检索请求-URI确定的任何信息(以实体的形式(。如果请求-URI是指数据生产过程,则是生成的数据,应作为响应中的实体而不是该过程的源文本返回,除非该文本恰好是该过程的输出

  • POST post方法用于请求原始服务器接受请求中封闭的实体作为request-uroi在请求行中标识的资源的新从属[..。]

...等等。

要扩展Matías的答案,您必须考虑允许消费者使用他们想要的任何动词调用您的API的后果。

首先,如果您永远不知道会发生什么操作,您的实现将会更加复杂。例如,如果有人可以使用GET更新资源,您如何判断查询和更新之间的区别?答案:实施的额外(不必要(复杂性。

其次,性能和可伸缩性的观点会产生后果。GET可以轻松地缓存资源表示,因为其具有责任感的性质 - 这是预期的约定。通过不清楚哪种动词可以做什么,您就可以更难使用诸如缓存之类的策略,这使您的API更难扩展。

第三,这使消费者变得更加复杂。HTTP的基于公约的方法被广泛理解。使用不遵循该约定的API(尤其是将自己标记为使用HTTP/REST(的API,将增加集成成本。

相关内容

最新更新