Spring:为Web应用程序实现share-via-link功能

时间:2018-05-03 08:50:47

标签: java spring angular rest spring-boot

我需要实现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());

    } 

任何帮助都将不胜感激。

0 个答案:

没有答案