用于获取读取模型列表的Wolkenkit REST API确实返回心跳条目

用于获取读取模型列表的Wolkenkit REST API确实返回心跳条目,rest,wolkenkit,Rest,Wolkenkit,我听说wolkenkit还提供了RESTAPI,但没有找到任何相关文档。我仔细检查了资料来源,找到了一些关于如何做到这一点的指示 我正在使用从cli执行请求: $ http post https://local.wolkenkit.io:3500/v1/read/lists/labels HTTP/1.1 200 OK Access-Control-Allow-Origin: * Cache-Control: no-store, no-cache, must-revalidate, proxy

我听说wolkenkit还提供了RESTAPI,但没有找到任何相关文档。我仔细检查了资料来源,找到了一些关于如何做到这一点的指示

我正在使用从cli执行请求:

$ http post https://local.wolkenkit.io:3500/v1/read/lists/labels

HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Connection: keep-alive
Date: Wed, 30 Aug 2017 21:08:07 GMT
Expires: 0
Pragma: no-cache
Surrogate-Control: no-store
X-FRAME-OPTIONS: DENY
X-Powered-By: Express
X-XSS-Protection: 1; mode=block
content-type: application/json
transfer-encoding: chunked

{"name":"heartbeat"}
{"label":"first","id":"baa1b2b6-ab85-4929-a488-0cae622de20a","isAuthorized":{"owner":"anonymous","forAuthenticated":false,"forPublic":true}}
{"label":"second","id":"7fc6c3c9-3285-4292-b3db-6d88ca90a347","isAuthorized":{"owner":"anonymous","forAuthenticated":false,"forPublic":true}}
我的
标签中有两个条目
readModel,但似乎还有第三个条目{“name”:“heartbeat”}。这是从哪里来的?这意味着什么

这是一个bug还是我偶然创建了该条目?

免责声明:我是wolkenkit的开发人员之一

这实际上既不是一个bug,也不是您意外创建的条目;-)

在这种情况下,我们通过HTTP传输JSON,我们有过这样的经验:当两个数据包之间出现长时间暂停时,一些代理服务器(以及类似的东西)会导致问题

在过去,我们几次改变了read模型的交付方式,我认为这并不是真的需要,所以这是过去的延续。(如果我们谈论的是事件路线,故事会有所不同,这里肯定仍然需要。)

在引擎盖下使用的库中,我们过滤掉心跳事件:

const isNotHeartbeat = function (data) {
  const keys = Object.keys(data);

  return !(
    (keys.length === 1) &&
    (keys[0] === 'name') &&
    (data.name === 'heartbeat')
  );
};
(摘自)


目前,我建议在代码中引入类似的逻辑,这样您就可以忽略这些事件(随着时间的推移,可能会有多个事件,它们不一定是第一个事件)。

谢谢您的回答。如果我想为我的welkenkit应用程序提供一个可公开使用的api,我觉得对接收到的数据进行后处理并不是最好的用户体验。也许应该有一些机制来允许构建定制的RESTAPI,也与约定的相关,这不是最好的UX。我们需要更仔细地研究这个问题,所以我还不能保证什么时候我们会处理这个问题,但我会把它添加到我们的待办事项列表中。谢谢你指出这一点