我需要在生产中使用/使用“Restier”的人的意见。
我看到了一些问题--默认情况下安全是禁用的--所有数据都可以由用户读取,而用户甚至没有在站点上获得授权。即使我们计划限制某些数据(您不能从表中删除一列),但只有所有列对客户端是可见的。
最后一个--所有的业务逻辑--转到浏览器javascript上,这是不好的。如果我们需要执行一个复杂的操作(必须在单个事务中)--这是不可能的。
我的观点--“Restier”是为非常简单的RESTful项目设计的--比如地址簿、待办事项列表等等。如果你开发了大型商业应用程序--操作复杂的数据方案和货币交易--你应该避免在项目中使用“Restier”。
任何想法都值得赞赏。
发布于 2016-11-07 12:12:54
REST是Web服务的一种艺术风格。OData是一个标准,它描述了独立于REST的良好技术实现。RESTier是一个实现OData V4的库。
域的复杂性必须在域和应用程序层中。您可以使用RESTier以您喜欢的方式将域功能公开为WebService。您可以只为读取操作公开您的实体,并将您的用例(应用层)公开为OData操作和函数,这些操作和函数可供任何类型的客户端(iOS、Android客户端,如Asp.Net Mvc、Wpf、任何JavaScript前端等)使用。如果您有一个复杂的领域,我建议您研究领域驱动设计。
现在请回答你的问题..。
关于安全性,您可以在Restier中实现Asp.Net的所有优点。
关于数据整形,您永远不会通过Web服务直接公开域实体。我建议实现在客户(表示业务逻辑的域实体)和CustomerDto (简单数据传输对象)之间来回转换的工厂。有了这一点,您就可以按照所需的方式对数据进行格式化。
正如您提到的,在前端(UI层)拥有业务逻辑被认为是一个反模式(智能UI反模式),如果您有很大的域复杂性。(对于简单的CRUD应用程序是可以的)。Restier不会把你推向这个方向。这是你如何设计你的解决方案的问题。
希望这能帮到你。
https://stackoverflow.com/questions/40281272
复制相似问题