getByName(forumPostName)
forumPostFinder.getByName(forumPostName);
描述
根据 metadata.name
获取帖子。
参数
forumPostName:string
- 帖子的唯一标识metadata.name
。
返回值
示例
<div th:with="forumPost = ${forumPostFinder.getByName('forum-forumPost-foo')}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</div>
content(forumPostName)
forumPostFinder.content(forumPostName);
描述
根据帖子的 metadata.name
单独获取帖子内容。
参数
forumPostName:string
- 帖子的唯一标识metadata.name
。
返回值
示例
<div th:with="content = ${forumPostFinder.content('forum-forumPost-foo')}">
<div th:utext="${content.content}"></div>
</div>
cursor(forumPostName)
forumPostFinder.cursor(forumPostName);
描述
根据帖子的 metadata.name
获取相邻的帖子(上一篇 / 下一篇)。
参数
forumPostName:string
- 帖子的唯一标识metadata.name
。
返回值
示例
<div th:with="forumPostCursor = ${forumPostFinder.cursor(forumPost.metadata.name)}">
<a
th:if="${forumPostCursor.hasPrevious()}"
th:href="@{${forumPostCursor.previous.status.permalink}}"
>
<span th:text="${forumPostCursor.previous.spec.title}"></span>
</a>
<a
th:if="${forumPostCursor.hasNext()}"
th:href="@{${forumPostCursor.next.status.permalink}}"
>
<span th:text="${forumPostCursor.next.spec.title}"></span>
</a>
</div>
listAll()
forumPostFinder.listAll();
描述
获取所有帖子。
参数
无
返回值
List<#ListedForumPostVo>
示例
<ul th:with="forumPosts = ${forumPostFinder.listAll()}">
<li th:each="forumPost : ${forumPosts}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</li>
</ul>
list(page,size)
forumPostFinder.list(page, size);
描述
根据分页参数获取帖子列表。
参数
page:int
- 分页页码,从 1 开始size:int
- 分页条数
返回值
#ListResult<ListedForumPostVo>
示例
<ul th:with="forumPosts = ${forumPostFinder.list(1,10)}">
<li th:each="forumPost : ${forumPosts.items}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</li>
</ul>
list(page,size,type)
forumPostFinder.list(page, size, type);
描述
根据类型标识和分页参数获取帖子列表。
参数
page:int
- 分页页码,从 1 开始size:int
- 分页条数type:string
- 类型标识
返回值
#ListResult<ListedForumPostVo>
示例
{
"essence", // 精华
"question", // 问答
"vote", // 投票
}
<ul th:with="forumPosts = ${forumPostFinder.list(1,10,'essence')}">
<li th:each="forumPost : ${forumPosts.items}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</li>
</ul>
listByPlate(page,size,plateName)
forumPostFinder.listByPlate(page, size, plateName);
描述
根据板块标识和分页参数获取帖子列表。
参数
page:int
- 分页页码,从 1 开始size:int
- 分页条数plateName:string
- 帖子板块唯一标识metadata.name
返回值
#ListResult<ListedForumPostVo>
示例
<ul th:with="forumPosts = ${forumPostFinder.listByPlate(1,10,'forum-plate-foo')}">
<li th:each="forumPost : ${forumPosts.items}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</li>
</ul>
listByTopic(page,size,topic)
forumPostFinder.listByTopic(page, size, topic);
描述
根据话题标识和分页参数获取帖子列表。
参数
page:int
- 分页页码,从 1 开始size:int
- 分页条数topic:string
- 帖子话题唯一标识metadata.name
返回值
#ListResult<ListedForumPostVo>
示例
<ul th:with="forumPosts = ${forumPostFinder.listByTopic(1,10,'forum-topic-foo')}">
<li th:each="forumPost : ${forumPosts.items}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</li>
</ul>
listByTag(page,size,tag)
forumPostFinder.listByTag(page, size, tag);
描述
根据标签标识和分页参数获取帖子列表。
参数
page:int
- 分页页码,从 1 开始size:int
- 分页条数tag:string
- 帖子标签唯一标识metadata.name
返回值
#ListResult<ListedForumPostVo>
示例
<ul th:with="forumPosts = ${forumPostFinder.listByTag(1,10,'forum-tag-foo')}">
<li th:each="forumPost : ${forumPosts.items}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</li>
</ul>
listByOwner(page,size,owner)
forumPostFinder.listByOwner(page, size, owner);
描述
根据创建者用户名和分页参数获取帖子列表。
参数
page:int
- 分页页码,从 1 开始size:int
- 分页条数owner:string
- 创建者用户名name
返回值
#ListResult<ListedForumPostVo>
示例
<ul th:with="forumPosts = ${forumPostFinder.listByOwner(1,10,'admin')}">
<li th:each="forumPost : ${forumPosts.items}">
<a th:href="@{${forumPost.status.permalink}}" th:text="${forumPost.spec.title}"></a>
</li>
</ul>
类型定义
TopicVo
{
"metadata": {
"name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
"creationTimestamp": "2022-11-20T13:06:38.512Z", // 创建时间
},
"spec": {
"displayName": "string", // 显示名称
"slug": "string", // 别名,通常用于生成 status.permalink
"description": "string", // 描述
"cover": "string" // 封面图
},
"status": {
"permalink": "string", // 固定链接
"visibleForumPostCount": 0, // 已发布帖子数
"forumPostCount": 0 // 帖子数
},
"forumPostCount": 0
}
TagVo
{
"metadata": {
"name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
"creationTimestamp": "2022-11-20T13:06:38.512Z", // 创建时间
},
"spec": {
"displayName": "string", // 显示名称
"slug": "string", // 别名,通常用于生成 status.permalink
"description": "string", // 描述
"cover": "string" // 封面图
},
"status": {
"permalink": "string", // 固定链接
"visibleForumPostCount": 0, // 已发布帖子数
"forumPostCount": 0 // 帖子数
},
"forumPostCount": 0
}
PlateVo
{
"metadata": {
"name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
"creationTimestamp": "2024-08-19T16:04:57.998191969Z", // 创建时间
},
"spec": {
"displayName": "string", // 显示名称
"slug": "string", // 别名,通常用于生成 status.permalink
"description": "string", // 描述
"cover": "string", // 封面图
"owner": "string",
"deleted": false,
"publish": true,
"publishTime": "2024-08-19T16:04:57.998191969Z", // 发布时间
"visible": "PUBLIC",
"priority": 0,
"categories": [ // 分类的名称集合,即 Category 的 metadata.name 的集合
"string"
]
},
"status": {
"permalink": "string", // 固定链接
"visibleForumPostCount": 0, // 已发布帖子数
"forumPostCount": 0, // 帖子数
"contributors": [ // 版主名称,Contributor 的 metadata.name 的集合
"string"
],
"lastModifyTime": "2022-11-20T13:06:38.505Z", // 最后修改时间
},
"categories": "List<#PlateCategoryVo>", // 分类的集合
"contributors": "List<#ContributorVo>", // 版主的集合
"owner": "#ContributorVo", // 创建者
"forumPostCount": 0
}
ForumPostType
enum Target {
DEFAULT, // 标准
QUESTION, // 提问
}
ForumPostPinned
{
0, // 不置顶
1, // 置顶
2, // 超级置顶
3, // 全局置顶
}
ContributorVo
{
"name": "string", // 用户名
"displayName": "string", // 显示名称
"avatar": "string", // 头像
"bio": "string", // 描述
"permalink": "string", // 作者的文章归档页面链接
"metadata": {
"name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
"creationTimestamp": "2022-11-20T13:06:38.512Z", // 创建时间
}
}
ForumPostVo
{
"metadata": {
"name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
"creationTimestamp": "2022-11-20T12:45:43.888Z", // 创建时间
},
"spec": {
"title": "string", // 标题
"slug": "string", // 别名,通常用于生成 status.permalink
"releaseSnapshot": "string",
"headSnapshot": "string",
"baseSnapshot": "string",
"owner": "string", // 创建者名称,即 ContributorVo 的 metadata.name,非显示名称
"cover": "string", // 封面图
"video": "string", // 视频
"deleted": false,
"publish": false,
"publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
"pinned": "ForumPostPinned", // 置顶
"allowComment": true, // 是否允许评论
"essence": true, // 精华
"type": "#ForumPostType", // 类型
"visible": "PUBLIC",
"priority": 0,
"excerpt": {
"autoGenerate": true, // 是否自动生成摘要
"raw": "string" // 摘要内容
},
"plate": "#PlateVo", // 板块的名称,即 Plate 的 metadata.name
"topics": [ // 话题的名称集合,即 Topic 的 metadata.name 的集合
"string"
],
"tags": [ // 标签的名称集合,即 Tag 的 metadata.name 的集合
"string"
],
"htmlMetas": [
{
"additionalProp1": "string"
}
]
},
"status": {
"permalink": "string", // 固定链接
"excerpt": "string", // 最终生成的摘要
"inProgress": true,
"lastModifyTime": "2022-11-20T13:06:38.505Z", // 最后修改时间
"lastReplyTime": "2022-11-20T13:06:38.505Z", // 最后回复时间
"commentsCount": 0, // 评论数
"contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
"string"
]
},
"plate": "List<#PlateVo>", // 板块
"topics": "List<#TopicVo>", // 话题的集合
"tags": "List<#TagVo>", // 标签的集合
"contributors": "List<#ContributorVo>", // 贡献者的集合
"owner": "#ContributorVo", // 创建者
"stats": {
"visit": 0, // 访问数量
"upvote": 0, // 点赞数量
"downvote": 0, // 反对数量
"favorite": 0, // 收藏数量
"comment": 0 // 评论数量
},
"content": "#ContentVo" // 内容
}
ContentVo
{
"raw": "string", // 原始文本,一般用于给编辑器使用
"content": "string" // 最终渲染的文本
}
NavigationForumPostVo
{
"previous": "#ForumPostVo", // 上一篇帖子
"current": "#ForumPostVo", // 当前帖子
"next": "#ForumPostVo" // 下一篇帖子
}
ListedForumPostVo
{
"metadata": {
"name": "string", // 唯一标识
"labels": {
"additionalProp1": "string"
},
"annotations": {
"additionalProp1": "string"
},
"creationTimestamp": "2022-11-20T12:45:43.888Z", // 创建时间
},
"spec": {
"title": "string", // 标题
"slug": "string", // 别名,通常用于生成 status.permalink
"releaseSnapshot": "string",
"headSnapshot": "string",
"baseSnapshot": "string",
"owner": "string", // 创建者名称,即 ContributorVo 的 metadata.name,非显示名称
"cover": "string", // 封面图
"video": "string", // 视频
"deleted": false,
"publish": false,
"publishTime": "2022-11-20T13:06:38.505Z", // 发布时间
"pinned": "ForumPostPinned", // 置顶
"allowComment": true, // 是否允许评论
"essence": true, // 精华
"type": "#ForumPostType", // 类型
"visible": "PUBLIC",
"priority": 0,
"excerpt": {
"autoGenerate": true, // 是否自动生成摘要
"raw": "string" // 摘要内容
},
"plate": "#PlateVo", // 分类的名称集合,即 Plate 的 metadata.name 的集合
"topics": [ // 话题的名称集合,即 Topic 的 metadata.name 的集合
"string"
],
"tags": [ // 标签的名称集合,即 Tag 的 metadata.name 的集合
"string"
],
"htmlMetas": [
{
"additionalProp1": "string"
}
]
},
"status": {
"permalink": "string", // 固定链接
"excerpt": "string", // 最终生成的摘要
"inProgress": true,
"lastModifyTime": "2022-11-20T13:06:38.505Z", // 最后修改时间
"lastReplyTime": "2022-11-20T13:06:38.505Z", // 最后回复时间
"commentsCount": 0, // 评论数
"contributors": [ // 贡献者名称,Contributor 的 metadata.name 的集合
"string"
]
},
"plate": "List<#PlateVo>", // 板块
"topics": "List<#TopicVo>", // 话题的集合
"tags": "List<#TagVo>", // 标签的集合
"contributors": "List<#ContributorVo>", // 贡献者的集合
"owner": "#ContributorVo", // 创建者
"stats": {
"visit": 0, // 访问数量
"upvote": 0, // 点赞数量
"downvote": 0, // 反对数量
"favorite": 0, // 收藏数量
"comment": 0 // 评论数量
},
}
ListResult<ListedForumPostVo>
{
"page": 0, // 当前页码
"size": 0, // 每页条数
"total": 0, // 总条数
"items": "List<#ListedForumPostVo>", // 帖子列表数据
"first": true, // 是否为第一页
"last": true, // 是否为最后一页
"hasNext": true, // 是否有下一页
"hasPrevious": true, // 是否有上一页
"totalPages": 0 // 总页数
}