我们正在逐步为我们的Web应用程序实现REST服务。目前,该应用程序是旧的程序样式类型的应用程序。
新的应用程序将在html5中,后端在CF10 REST api中调用cfc返回JSON格式的对象。
我们需要通过jquery调用将SESSION变量传递给REST cfc。有没有办法避免将SESSION变量作为jquery调用的参数?所有REST cfc都位于Coldfusion10的Web根目录中,因此REST cfc不能访问SESSION范围。
由于
答案 0 :(得分:4)
我找到了关于RESTful services in ColdFusion的以下文档。特别参见子弹4:
REST架构原则:
基于REST的应用程序遵循一些架构原则:
- 资源识别:在基于REST的架构中,一切都是资源。您必须使用URI标识每个资源。在ColdFusion中,您可以将在CFC中定义的函数作为REST资源使用,并且可以使用URI访问它们。
- 统一和受约束的接口:RESTful应用程序中的每个资源都应支持HTTP公共操作,即资源应该能够处理HTTP协议方法 - GET,PUT,POST和DELETE。在ColdFusion中,您可以通过HTTP访问资源(函数);每个资源都支持HTTP谓词。根据请求中指定的谓词,调用相应的资源。
- 面向表示:REST允许资源具有不同的表示形式 - 普通,HTML,XML,JSON等。客户端可以通过HTTP协议请求特定的表示。 HTTP在客户端和服务器之间提供简单的内容类型协商协议。例如,AJAX应用程序可能需要JSON格式的数据,而Java应用程序可能需要XML格式的数据。
- 无状态通信:在REST中,服务器不存储客户端会话数据。但是,存在许多技术来交换诸如URI重写,cookie和隐藏表单字段之类的状态信息。此外,对于加密,您可以在HTTPS之上使用REST。
醇>
还在StackOverflow上找到了关于它的这些讨论:
Way to maintain a session in a REST application
Website based on REST in ColdFusion