1

我想在 Endeca Assembler 的响应标头中插入一个新的(键-> 值)对。是否有可能做到这一点?

谢谢

4

2 回答 2

0

这样做:

responseContentItem.put("key", "value");

因为来自 Endeca Assembler 的响应只是一个Map.

于 2015-02-17T04:59:22.450 回答
0

首先,我想澄清一些事情,因为关于汇编程序的术语可能会有点混乱。我不确定你是如何设计你的程序的,但请记住,Assembler 只是一个 Java API,所以说“来自 Endeca Assembler 的响应标头”有点不清楚。该声明似乎暗示 Assembler 是一种 Web 服务,但事实并非如此。以我的经验,人们通常将发现数据(Discover service)示例应用程序错误地称为“Assembler”或“Assembler Service”,但它确实不是通用的 Web 服务;它被设计为专门用于 Discover 数据集的参考应用程序(但人们仍然使用发现数据作为构建面向生产的应用程序的起点)。所以,请记住,我

无论如何,在您的代码中的某处,您应该调用“contentItem.assemble()”之类的东西,它会在该内容项上运行您的墨盒处理程序并返回一个 ContentItem 类型的对象。然后在 Discover webapp 中,它将这个内容项序列化为 JSON 或 XML 或呈现一个 JSP 页面(取决于请求参数)。我假设您的应用程序做了类似的事情。

向ContentItem添加属性很简单,因为 ContentItem 实现了 map。因此,您可以执行以下操作:

ContentItem responseContentItem = contentItem.assemble();
responseContentItem.put("myKey","myValue");
...continue by serializing responseContentItem or whatever you want to do with it
于 2015-02-09T00:27:41.570 回答