首页 > 解决方案 > HATEOAS:如何通过 URI 发布新的子关联

问题描述

在 Spring Data Rest 中,您可以对引用和POST的表进行如下操作:product_materialproductmaterial

{
"product": "http://localhost:8080/api/products/70bdd2a0-3548-4158-b378-71850c4c1eb3",
"material": "http://localhost:8080/api/materials/1"
}

我怎样才能实现这个而不是使用product's 和material's id

标签: springspring-bootspring-hateoashateoas

解决方案


您无法使用 hatos 执行此操作,因为发布请求将尝试使用您提供的链接“http://localhost:8080/api/materials/1”链接这些子实体

另一种选择是放置整个实体,但如果不提供 id 也不会成功,而是会创建一个新实体。

发出“post”请求后,它会首先搜索 ID 或者版本,如果你提供了一个,如果没有找到它会创建一个新的子实体


推荐阅读