2016-10-27 27 views
2

我需要在生产中使用/使用'Restier'的人的意见。OData Restier - 这适合什么?它是否值得在生产中使用它?

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

而最后 - 所有的业务逻辑转移到浏览器的JavaScript - 这是不好的。如果我们需要执行复杂的操作(必须在单个事务中) - 这是不可能的。我的意见 - 'Restier'是为非常简单的RESTful项目设计的 - 例如地址簿,待办事项列表等。如果您开发的是大型商业应用程序 - 操作复杂数据方案和操作货币交易 - 您应该避免使用在一个项目中“恢复”。

任何想法赞赏。

回答

1

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

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

我们您的问题...

在安全方面可以实现在Restier Asp.Net的所有善良。

关于数据整形,您绝不会直接通过Web服务公开您的域实体。我会建议实现在客户(表示业务逻辑的域实体)和CustomerDto(简单数据传输对象)之间来回转换的工厂。借助此功能,您可以根据自己的需要调整数据的形状。

如前所述,在前端(UI层)中拥有业务逻辑,如果您有大的域复杂性,则将其视为反模式(智能UI反模式)。 (对于简单的CRUD应用程序是可以的)。 Rest Rest不会推动你朝这个方向发展。这是你如何构建解决方案的问题。

希望这可以帮助你。

+0

非常感谢。 – paulpeters

+0

如果您喜欢答案,请将其投票。 – jpchauny

相关问题