处理数据库代码表时的基本REST设计?

时间:2012-05-26 13:49:39

标签: rest

我在REST上看到的内容似乎在返回REST响应时总是使用描述而不是ID。例如:

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

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

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

我想你的代码表会有另一个网址来获取描述。类似于:http://baseurl/codetables/orderstatus&amp; http://baseurl/codetables/orderstatus/{id}

2 个答案:

答案 0 :(得分:1)

通常,ID仅用于数据库以使其标准化并提供唯一性。因此,很少需要一个可以公开ID的REST API。因此,您可能需要重新检查设计,了解为什么会出现这种需求。

也就是说,如果您的用例不同且ID实际上需要在外部,那么我没有看到REST API返回ID的任何问题。

答案 1 :(得分:0)

在您在示例中显示的两个XML有效负载中,资源状态的描述或表示完全相同。与数字'1'相比,具有'开放'一词的人对人眼更友好,因此需要较少的解释。我仍然不认为一个比其他选项更RESTful。因为可以说“开放”这个词应该得到很好的解释。消费者应该能够理解开放状态的真正含义。从那一点开始,可能的状态转换是什么?等等。

其次 http://baseurl/codetables/orderstatus/{id}http://baseurl/codetables/orderstatus/open与REST URL的观点并没有什么不同。但另一点要考虑的是,您真的需要将属性引用表示为REST资源吗?有什么好处?听起来像WSDL世界中的模式定义等同于我。