我有一个需求,需要获取某个主题下的所有一级回复。当我们创建新主题时,系统也会同时创建一个帖子。为了在该主题下创建一级回复,我调用了以下 API:
POST http://discourse-url/posts/
{
“raw”: “这是该主题下的一级回复”,
“topic_id”: 1234,
“reply_to_post_number”: null
}
现在,为了获取一级回复,我使用以下调用,其中 post_id 是该主题下创建的第一个帖子的 ID。该帖子的 post_number 为 1。
但返回的是一个空数组。这是可以理解的,因为 Discourse 将主题顶部的回复视为帖子而非回复。在 Discourse 的术语中,“回复”是针对帖子进行的,而“帖子”是针对主题进行的。
我找到了一个变通方法。如果我将 reply_to_post_number 设置为 1 而不是 null,那么获取回复的 API 调用也能正常工作。以下是示例请求:
POST http://discourse-url/posts/
{
“raw”: “这是该主题下的一级回复”,
“topic_id”: 1234,
“reply_to_post_number”: 1
}
现在,我可以通过以下 API 调用获取该主题的一级回复:
根据此处 帖子 vs 回复 vs 主题 的回答,我觉得我实际上对 Discourse 中的帖子结构进行了根本性的改变。
我的问题是:这种改变是否会破坏 Discourse 的其他功能?目前我尚未发现网站因此出现任何问题。但是,是否有我可能遗漏且需要特别注意的地方?