刚开始研究一些 MVC JS 框架/库,他们中的大多数都期望一个 RESTful API 端点,这让我开始思考......我可以使用 CF10 做什么,而使用 CF9 + ColdBox RESTful 支持无法完成,反之亦然?
谢谢你。
刚开始研究一些 MVC JS 框架/库,他们中的大多数都期望一个 RESTful API 端点,这让我开始思考......我可以使用 CF10 做什么,而使用 CF9 + ColdBox RESTful 支持无法完成,反之亦然?
谢谢你。
Restful webservices 是一个标准的概念,所有的实现最终都遵循这些规范。已经有Taffy、Powernap等框架和 ColdBox 3、Mach II 等框架可以帮助在 ColdFusion 中创建安静的服务。我他们在为用户提供的完整性和授权方面做得非常好。不同之处在于它们启用它的方式,它们如何让您创建服务。一些遵循惯例,其他配置使用自己的 DSL 等,并且在某种程度上他们提供的功能。
ColdFusion 10 具有原生的 restful web 服务支持。它带来的是:
正如您将看到的那样,其中大部分是让语言“本机”可用的好处,而不是相对于功能的比较,这就是我们实现它的原因。IMO根本没有任何比较。我希望看到所有框架都利用本机可用功能并在其之上构建。
拇指规则应该是 CF10 之前使用任何适合您口味的,用例/CF10 发布后使用本机可用的或任何使用相同的框架。
警告:每个框架作者都会偏向于他们自己的,所以在你采取飞跃之前进行判断。
ps 我已经在 ColdFusion10 中实现了 Rest 支持 :)
As rest cfc would generally just be a wrapper for your model, and if your model was already created with a cf framework like coldbox, you may be better of using the frameworks implementation of a ReSTful webservice .
If you are starting off from scratch, the newly added functionality in CF10 ( and Railo 4) will give you the infrastructure without the overhead of the application framework.
优秀资源:https ://github.com/atuttle/CF-REST-Comparison/tree/master/CF10
要求/怪癖
- 所有远程方法都必须指定 returnType="..." (其中 ... 是要返回的类型)。
- 不要忘记
<cfargument/>
用于 URI 令牌参数的标签的 restArgSource。restArgSource 的默认值是 body,如果您尝试从 URI 获取值,它将不起作用。- 不支持特定于应用程序的映射。请改用 server-mappings 或完全限定的 cfc 路径。
- 每当刷新服务时,我总是遵循以下工作流程: 从日志文件屏幕中删除“exception.log” 刷新 REST 服务 检查“exception.log”是否回来了。(如果是这样,请阅读并解决问题。)