繁体   English   中英

在Spring中创建活动供稿的正确方法

[英]Proper way to create activity feed in Spring

在页面的一部分中,我需要具有ActivityFeed,该ActivityFeed显示来自用户的最新输入数据。

因此,这里有用户模型和调查模型。

用户提供一些输入,然后它们出现在“调查”表中。 Survey模型的字段带有时间戳

@CreationTimestamp
@Column(name = "submitedTime",nullable=false)
@Temporal(TemporalType.TIMESTAMP)
private Date submittedDate;

所以我所做的是在SurveyRepository上称为方法:

List<Survey> findTop10ByOrderBySubmittedDateDesc();

这将返回我最近提交的10份调查。 然后我为此创建一个端点:

  @RequestMapping(value="getActivityFeed",method=RequestMethod.GET)
public @ResponseBody List<Survey> getSurveys(){
    return surveyService.findTop10ByOrderBySubmittedDateDes();
}

然后,通过我的JS中的Ajax调用,我调用了端点,并提取了信息。

这是创建活动供稿的正确方法吗? 还是有办法在每个提交的值之后更新活动Feed?

我也在使用Spring-Boot和Thymeleaf。

谢谢

我想您正在使用setInterval通过Ajax获取最近的活动。 可以,但是更好的方法是使用websocket(避免用户轮询消耗宝贵资源的服务器):

WebSockets是一项先进的技术,可以打开用户浏览器和服务器之间的交互式通信会话。

(MDN Webdocs- https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

对于您而言,它非常轻巧,我相信这是基于真实的后端事件更新用户视图的最佳选择。

更好地了解Mozilla的参考,并检查以下其他参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM