java - Coldfusion 8 和 HTTP PUT - 有没有办法 PUT 一个对象?

标签 java http coldfusion serialization ehcache

我们将 EHCache 与 CF 8 结合使用,通过 HTTP 使用 RESTful 接口(interface)在中央服务器上缓存内容。我正在尝试将 cfquery 对象 缓存到缓存服务器。

如果我直接调用 EHCache(即将它存储在本地缓存中),我可以让它工作,但如果我尝试通过 HTTP 缓存在远程服务器上,我就会遇到问题。

我使用的代码如下:

<cfhttp url="http://localhost:8080/myCache/myKey"
  method="put" 
  result="r" 
  timeout="2" 
  throwonerror="true" >
    <cfhttpparam type="body" value="#ARGUMENTS.item#" />
</cfhttp>

CF 不喜欢对 #ARGUMENTS.item# 的引用,它提示 Complex object types cannot be converted to simple values.

谁能给我一个例子,说明如何使用 CF 将对象放在 http 上?如果使用 CF 无法做到这一点,那么 Java 示例将是下一个最好的选择。

非常感谢!

PS:我不想对文本/JSON 等使用序列化,因为这种方法存在数据完整性问题,最重要的是它不够快。

最佳答案

是的,您必须序列化参数结构,因为如果不进行某种形式的序列化,就无法通过 HTTP 传递二进制对象。正如已经提到的,您可以使用 JSON 来序列化对象。 JSON 的替代方法也可以使用 cfwddx 标记,它可以将对象转换为 XML。但 JSON 可能更好,因为它不像 cfwddx 生成的 XML 那样冗长。

关于java - Coldfusion 8 和 HTTP PUT - 有没有办法 PUT 一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2517741/

相关文章:

oracle - 使用Oracle's “INSERT … RETURNING … INTO”语句的ColdFusion

java - 本地 JMX 调用因 ClassCastException 而失败

java - 如何让两个 JPanel 监听同一个事件?

c++ - 特殊协议(protocol)的 apache httpd 扩展帮助

php 相当于 coldfusion cfsavecontent

email - Coldfusion 9 - 重新处理邮件

java - 如何在 java 中制定 curl -XHEAD 请求

java - 从 bean 强制 Spring 关闭的最佳方法?

azure - 从 MICROSOFT-CORP-MSN-AS-BLOCK 重写的 URL

http - 什么是 305 HTTP 状态码?如何正确使用?