我需要实现share-application-state-via-link
功能。
我的应用程序是一个视频流单页应用程序,包含一些用户可以过滤掉可用视频的下拉选项和一个播放所选视频的视频播放器。
现在,首先在下拉选项的基础上,用户选择可用的视频并将其添加到视频播放器。最多可以添加4个视频。在此之后,我需要将我的应用程序状态共享给其他用户,以便我获得共享链接(就像在StackOverflow中分享回答一样)并将其发送给其他用户。这个其他用户只需要点击这个URL,它就会加载准确的应用程序状态,其中添加了播放器的视频和下载的相应选项。
我的方法:
我有一个/getVideo
rest service
,它会抓取视频数据并将其作为json
响应发送回基于angular
的前端。我创建了一个Share
按钮,单击此按钮可以通过添加所有选定的下拉选项来创建链接,例如:
https://localhost:8080/MyApp/shared?genre=Action&type=web-series
我创建了一个方法/shared
,它会接受这些参数并在内部调用/getVideo
。
这里的问题是,我需要在上面的链接被点击时加载index.html
。我还必须发送要加载index.html
的getVideo数据,并且应用程序应该正常运行。我无法解决这个问题,需要帮助。
我的方法是否正确?还有其他方法吗?我使用Spring-Boot
作为后端,angular2
作为前端。
以下是/shared
API:
@RequestMapping(value = "/shared", method = RequestMethod.GET)
public String getSharedVideo(RedirectAttributes redirectAttributes,
@RequestParam(value="genre", required=false) String genre,
@RequestParam(value="date", required=false) String date,
@RequestParam(value="type", required=false) String type,
@RequestParam(value="version", required=false) String version,
@RequestParam(value="category", required=false) String category
){
List<Lab> lab = null;
try {
lab = videoService.getVideo(genre, date, type, version, category);
redirectAttributes.addAllAttributes(lab); // how to send this data to frontend
return "index.html";
} catch(Exception e) {
LOGGER.error("EXCEPTION - " + e.getMessage());
}
任何帮助都将不胜感激。