4

刚开始研究一些 MVC JS 框架/库,他们中的大多数都期望一个 RESTful API 端点,这让我开始思考......我可以使用 CF10 做什么,而使用 CF9 + ColdBox RESTful 支持无法完成,反之亦然?

谢谢你。

4

3 回答 3

7

Restful webservices 是一个标准的概念,所有的实现最终都遵循这些规范。已经有TaffyPowernap等框架和 ColdBox 3、Mach II 等框架可以帮助在 ColdFusion 中创建安静的服务。我他们在为用户提供的完整性和授权方面做得非常好。不同之处在于它们启用它的方式,它们如何让您创建服务。一些遵循惯例,其他配置使用自己的 DSL 等,并且在某种程度上他们提供的功能。

ColdFusion 10 具有原生的 restful web 服务支持。它带来的是:

  1. 您可以使用自己对组件的理解,并将它们扩展为 RESTful Web 服务
  2. 基于标准 JAX-RS
    • 大量支持/应用程序可用于扩展(测试/自动化)......
    • 没有实施偏见,广泛可用/可接受
  3. 更好的性能
  4. 更好的支持和文档
  5. 更少的配置
  6. 应用 WADL 已实现(类似 WSDL)
  7. 完整的 JSON/XML 支持并且易于扩展

正如您将看到的那样,其中大部分是让语言“本机”可用的好处,而不是相对于功能的比较,这就是我们实现它的原因。IMO根本没有任何比较。我希望看到所有框架都利用本机可用功能并在其之上构建。

拇指规则应该是 CF10 之前使用任何适合您口味的,用例/CF10 发布后使用本机可用的或任何使用相同的框架。

警告:每个框架作者都会偏向于他们自己的,所以在你采取飞跃之前进行判断。

ps 我已经在 ColdFusion10 中实现了 Rest 支持 :)

于 2012-05-23T08:55:21.670 回答
0

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.

于 2012-05-26T13:53:57.343 回答
0

优秀资源: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”是否回来了。(如果是这样,请阅读并解决问题。)
于 2014-06-10T01:23:34.440 回答