2012-03-05 116 views
1
  1. REST是否可以纯粹用作轻量级SOAP替代品(而不必担心与名词和动词相关)?我真正讨厌的SOAP是它在消息负载方面增加的开销,我喜欢在REST中使用JSON,这会使通信变得简单。REST上的愚蠢问题

  2. 为了便于客户端集成的,什么是从服务器到客户端提供的定义的最佳方式。阅读其他职位post1post2,似乎有很多敌意的对抗提供诸如替代一个WSDL(即WADL?)。如果服务器和客户端都知道可能发生的变化,并且如果我使用REST的原因仅为上面的#1,那么为什么它是如此糟糕的事情呢?

回答

2

可以休息纯粹用作一个轻量级的SOAP替代(没有真正担心相关的名词和动词)?

若你还是想叫它休息。 REST 定义关心的名词和动词。如果您只想使用JSON来执行RPC,请继续。但是你最终会被描述为“SOAP lite”。

为了便于客户端集成,从服务器向客户端提供定义的最佳方式是什么?阅读其他帖子post1 post2后,似乎有很多人反对提供类似替代的WSDL(即WADL?)。如果服务器和客户端都知道会发生,如果我之所以使用REST是唯一#1以上变化的,那么为什么它是一件坏事?

WSDLish“定义”被认为是不好的,因为REST并不是真正的RPCish样式协议。通过REST,您可以从一个入口点开始,然后从响应中跟踪服务器提供的URL。客户不应需要有方法调用和这样的“定义” - 标准的HTTP动词应该有标准的,明显的和适当的效果 - 它不应该甚至需要如何构建一个URL的先验知识;该URL应该在响应中提供。例如,如果您获取用户个人资料,则响应字段可能是用户的网址。如果您正在查看订单,则其中的每个商品都会有一个URL(作为字段!),您可以使用该URL来检索该商品的信息。如此。