Spring Data Rest Frontend深度链接

时间:2018-12-12 11:55:46

标签: frontend spring-data-rest hateoas

所以我一段时间以来一直在努力解决这个问题:

如何处理详细信息前端上的页面或深层链接。

例如,我们得到了一个分页集合端点,其中包含用户实体,而React应用程序使用了该端点。 流程将是,用户进行身份验证,获取收藏集,单击某个项目,并且该流程可以是:

  1. 已重定向至新网址,例如:webapp.com/users/userid
  2. 打开一个带有用户详细信息的模式。

假设我们有一个场景,两个人一起使用Web应用程序,人1要与人2共享一个链接。人2应该对特定用户进行一些更新,该更新由链接标识。 链接应类似于:https://www.webapp.com/users/ {slug或id} 对于选项2,此功能不可映射。 使用选项1,我们必须在响应中公开ID以标识可能有效的资源,但是由于未将findById方法导出为Uri模板,因此我们仍然需要对URL进行硬编码。 因此,我的解决方案是为资源添加一个插件,通过该插件实现搜索方法,然后通过其自链接来获取用户(如果找到)。 听起来对我来说是一个很好的解决方案,但是,另一方面,我将不得不为数据库模型添加一个额外的前端id(此处为slug),该ID也必须是唯一的。

那么你们如何处理这样的问题,或者有人使用这种方式或在生产模式下使用spring数据来处理这种情况吗?

应该提到的是,这不是春季数据休息的主要问题,而是仇恨本身。

先谢谢 弗洛里安

1 个答案:

答案 0 :(得分:0)

您不需要对网址模板进行硬编码。 Spring Data Rest将为每个资源生成链接。

您可以使用{your_user_object}._links.self.href

这样的格式从前端引用它