Hash.to_xml和其他此类Railsisms可能导致REST服务的输出中的元素排序不同。 XML Elems是顺序敏感的,因此对于JSON或XML属性来说这不是问题。
服务定义最佳实践的哪个方面是这种打破让我认为它是一种气味?
答案 0 :(得分:1)
考虑REST over HTTP,缓存是一个很大的优势。即使内部在语义上是相同的,如果它在结构上有所不同,那么你最终可能会遇到很多缓存未命中(例如,使用ETags完成)。当然,它取决于“如何”进行比较,但是大多数Cache实现都使用返回有效负载的简单散列作为比较实体。
因此,如果缓存很重要,我倾向于为“语义”相同的文档吐出相同的结构。
答案 1 :(得分:0)
非确定性排序将是我的期望 - 意思是,我不会依赖任何其他东西。
如果您可以为简单的差异提供确定性XML,那就太好了,但是在静态XML中更多,然后在服务响应中。