2012-05-26 24 views
0

我在REST上看过的内容似乎总是在返回REST响应时使用描述而不是ID。例如:处理数据库代码表时的基本REST设计?

<order> 
    <orderstatus> 
     open 
    </orderstatus> 
    ..... 
    ..... 
</order> 

使用ID有什么问题吗?例如,如果“打开”是{1}

<order> 
    <orderstatus> 
     1 
    </orderstatus> 
    ....... 
    ........ 
</order> 

我形象你会有你的代码表的另一个URL来获取描述。例如:http://baseurl/codetables/orderstatus & http://baseurl/codetables/orderstatus/{id}

回答

1

通常,ID仅用于数据库以保持其规范化并提供唯一性。所以很少需要一个可以暴露ID的REST API。因此,您可能需要重新检查设计,以了解为什么会出现这种需求。这就是说,如果你的用例不同,并且ID实际上是需要在外面的东西,那么我看不到REST API返回ID的任何问题。

0

在示例中显示的XML负载中,资源状态的描述或表示都完全相同。与数字“1”相比,用“开放”这个词对人眼更友好,因此需要较少的解释。尽管如此,我仍然认为其中一个比另一个更不稳定。因为甚至可以说“开放”这个词应该得到很好的解释。消费者应该能够理解开放状态的真正含义。从那时起,可能的状态转换是什么?等等。

其次 http://baseurl/codetables/orderstatus/{id}http://baseurl/codetables/orderstatus/open与REST URL的观点没有什么不同。但需要考虑的另一点是,您是否确实需要将属性引用表示为REST资源?有什么好处?听起来就像WSDL世界中的架构定义一样。