给定REST资源的属性是否应具有一致的顺序?

时间:2016-08-26 19:51:19

标签: rest api document canonicalization idempotent

对给定资源should be idempotent的RESTful GET请求:相同的请求应始终返回相同的结果。

这里如何定义“相同” - 具有相同属性的文档是否相同,无论顺序如何?或者在返回之前我是否需要规范化我的响应主体?

1 个答案:

答案 0 :(得分:2)

  

对给定资源的RESTful GET请求应该是幂等的:相同的请求应始终返回相同的结果。

在HTTP中,GET对给定资源的请求应该是safe,也就是说它是只读的,这通常是幂等的。

no-op(X) === X

therefore

no-op(no-op(X)) === no-op(X)
QED.

安全幂等正在描述请求对服务器的副作用;它们不以任何方式约束资源返回的表示。

例如,Online UUID Generator Tool资源每次向GET请求发送一个包含不同内容的html页面。请求是安全的(它不会修改资源),因此即使返回的表示不是 stable ,也是幂等的。