2

我需要在生产中使用/使用“Restier”的人的意见。

我看到了一些问题 - 默认情况下禁用了安全性 - 所有数据都可以由甚至未经现场授权的用户读取。即使我们计划限制某些数据 - 您不能从表中删除一列 - 只有所有列对客户端可见。

最后 - 所有业务逻辑都转移到浏览器 javascript - 这不好。如果我们需要执行复杂的操作(必须在单个事务中) - 这是不可能的。

我的观点——“Restier”是为非常简单的 RESTful 项目设计的——比如地址簿、待办事项列表等。如果你开发大型商业应用程序——操作复杂的数据方案和操作货币交易——你应该避免在一个专案。

任何想法表示赞赏。

4

1 回答 1

2

REST 是 Web 服务的一种架构风格。OData 是一种描述 REST 的良好技术独立实现的标准。RESTier 是一个实现 OData V4 的库。

您的域的复杂性必须在您的域和应用程序层中。您可以使用 RESTier 以您喜欢的方式将您的域功能公开为 WebService。您可以仅为读取操作公开您的实体,并将您的用例(应用程序层)公开为 OData 操作和函数,这些操作和函数可以被任何类型的客户端(iOS、Android、Web 客户端,如 Asp.Net Mvc、Wpf 等)使用JavaScript 前端等)如果您有一个复杂的域,我建议您研究域驱动设计。

现在回答你的问题...

关于安全性,您可以在 Restier 中实现 Asp.Net 的所有优点。

关于数据整形,您永远不会直接通过 Web 服务公开您的域实体。我建议实现在 Customer(代表业务逻辑的域实体)和 CustomerDto(简单数据传输对象)之间来回转换的工厂。有了这个,您可以塑造您的数据以按照您需要的方式公开。

正如您所提到的,在前端(UI 层)中拥有业务逻辑被认为是一种反模式(智能 UI 反模式),如果您有很大的领域复杂性。(对于简单的 CRUD 应用程序是可以的)。Restier 不会把你推向这个方向。这取决于您如何构建您的解决方案。

希望这可以帮助你。

于 2016-11-07T12:12:54.933 回答