OData Restier - 这适合什么?是否值得在生产中使用它?

时间:2016-10-27 09:42:45

标签: restier

我需要在制作中使用/使用'Restier'的人的意见。

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

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

我的观点 - 'Restier'专为非常简单的RESTful项目而设计 - 例如地址簿,待办事项列表等。如果您开发大型商业应用程序 - 运行复杂的数据方案并运营货币交易 - 您应该避免使用'在一个项目中恢复。

任何想法都赞赏。

1 个答案:

答案 0 :(得分:2)

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

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

现在问你的问题......

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

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

如前所述,如果您具有较大的域复杂性,则将前端(UI层)中的业务逻辑视为反模式(智能UI反模式)。 (对于简单的CRUD应用程序是可以的)。 Restier并没有把你推向这个方向。这是您如何构建解决方案的问题。

希望这会对你有所帮助。