2017-05-04 58 views
-4

我必须说服我的同事采用REST API级别2到期的Richardson(至少)。他们更喜欢只使用POST动词。 我的论点是:为什么宁静的API?

  • 与我们选矿缓存性能合适的动词(如:获取幂等要求)
  • 与approriate动词就一定标准,就可以与他人
  • 适当的轻松协作动词url可以是显式的

你能给我其他的参数吗?

+0

有没有这样的事情的RESTful API或客户端的问候之前的水平理查森成熟度模型3.少数REST约束条件之一就是HATEOAS已经就位,其他的都不是REST! –

回答

1

你能否给我其他论据?

可能不是。 REST是一种架构风格,旨在解决您可能没有的问题。

菲尔丁,writing in 2008

REST是为跨越多个组织长期存在的基于网络的应用。

如果您看不到约束的需要,那么请不要使用它们。

您可以尝试从GET方法开始,使用它来隔离safe(不仅仅是幂等)操作。在本质上,GET/POST的区别(因为HTTP/1.0这一直是标准的一部分,与伯特兰·迈耶的Command Query SeparationCQRS pattern对齐,或者“读权限VS写权限”,如果你想回去远远不够。

但是,如果这不符合您的解决方案空间的其余部分,那么您不妨在购买时区分幂等性写入和非幂等性写入。

如果我必须猜测,真正的问题您的团队习惯于将HTTP视为一种消息传递系统,它恰好可以通过端口80(或最近通过443)进行隧道传输,而不是一个文档交换应用程序。一个REST API并不是一个映射的将您的业务领域api转换为一套标准的方法;相反,您的REST API中的资源是您的集成域的一部分,它用于掩盖无聊“网站”掩码背后的丰富域模型与“表单”。

您可能需要两种审查吉姆·韦伯会谈: