0

刚开始休息,甚至不知道 REST 是什么,我开始观看一些视频并拿起一本书来帮助指导我走向正确的方法。不幸的是,我的第一个版本完全搞砸了,我很可能很快就不得不破坏任何使用该实现的客户。为确保我不再需要这样做,我需要您的帮助!

我在这里有一些我关心的数据库表:“PrimaryBuyer”和“AllBuyers”它们共享大部分字段,但 AllBuyers 有一些 Primary 没有的东西,反之亦然。每个主要买家在输入系统时都会获得一个唯一的“案例编号”。然后,除了“SequenceNumber”之外,它还用于标识“AllBuyers”。此 CaseNumber 返回给 Web 服务的用户以存储以备将来使用。然而,序列号是基于它们在 XML/JSON 中的位置而隐含的。

指定这些表 -> 例如,如果我要买一辆车,我将是主要买家,因此将被输入到 Primary 和 AllBuyers 表中。但是,如果我的信用不好,我可以让我的配偶共同签署贷款。这将使她成为二级买家,并且她将专门进入“AllBuyers”表。

我目前有一个 REST URI 设置为“/buyers/”,它要求一次输入所有买家的所有信息。类似地,如果我要对此 URI 进行更新,则主要在两个表中都会更新,并且有效负载中的任何次要购买者都将替换以前存在的购买者。

最终,无法直接访问表“PrimaryBuyer”和“AllBuyers”

我一直在尝试围绕这个问题想出一个解决方案,但一直想不出任何必须是 RESTful 或对客户来说不是痛苦的东西。认为用户应该(例如添加)POST 到 /primarybuyer/,获取返回的 casenumber,然后 POST 相同的信息,然后将一些信息发送到 /allbuyers/,这是否荒谬?这似乎在带宽等方面有点愚蠢。事情应该保持现状吗?

希望这不是太多信息来回答这样一个看似简单的问题。

4

3 回答 3

0

为什么不将买家信息作为序列化对象发布到其余服务器呢?您可以通过请求的参数部分执行此操作。当请求到达服务器时,您可以反序列化对象,并实现更新数据库的逻辑。

有点像亚马逊是如何做到的?http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_AddInstanceGroups.html

于 2013-07-09T15:50:38.147 回答
0

如果客户端应用程序这样做POST /PrimaryBuyer了,那么服务器也没有理由不能将该案例信息复制到/AllBuyers资源中,反之亦然。

于 2013-07-09T20:24:14.667 回答
0

认为用户应该(例如添加)POST 到 /primarybuyer/,获取返回的 casenumber,然后 POST 相同的信息,然后将一些信息发送到 /allbuyers/,这是否荒谬?

当您谈论“用户”时,您是指使用您的服务的人还是系统(浏览器)?

使用 REST 服务通常是由系统完成的,今天这意味着很多浏览器+Javascript。为用户完成这项工作是在 Web 外观上完成的,在后面运行您的所有 (Javascript) 代码以进行适当的 REST 调用。

于 2013-07-09T15:43:20.017 回答