我有一个面向服务的架构。客户端拥有绑定到前端的父级和子级dtos列表。这项服务是一个get,它返回所有内容的完整列表。
删除时最好:
一个。服务删除方法成功后,从前端列表中删除对象(返回bool表示成功或失败)
湾再次返回完整的对象列表
C。只返回受影响的父母和孩子
d。其他建议
提前致谢
答案 0 :(得分:4)
要拥有一个真正面向服务的架构,服务应该是异步的,所以它们根本不应该返回任何结果。
对于删除操作,实现起来非常简单:只需点击并忘记。
Udi Dahan's blog是了解实际服务导向的好地方。
如果您希望继续使用您的问题隐含的RPC消息交换模式,我仍然会说该方法应该返回 void 。如果从同步HTTP POST获得空回答,则表示成功 - 否则,您将收到SOAP Fault或其他错误结果。
答案 1 :(得分:2)
我会使用选项A.如果可以依赖您的服务来正确指示删除的成功或失败那么为什么还要重新加载所有对象?除非您当然希望立即显示其他用户的删除,否则B将是更好的选择。您还可以选择通过定期轮询/通知方法显示其他用户的删除,与删除操作分开。这实际上取决于您的应用程序的要求。
答案 2 :(得分:2)
实际上取决于商业案例。
当两个用户正在使用该系统时。两者都是从列表中添加和删除项目。
当用户A删除和项目时,您是否希望他看到来自用户B的变形,或者是否要求用户A按下刷新才能看到这些变化?
询问用户他们希望它如何工作,然后选择能够通过网络传输最少量数据的方法。