HATEOAS:如何通过 URI POST 新的子关联

HATEOAS: how to POST new child association via URI

在 Spring Data Rest 中,您可以 POST 类似这样的 table product_material 引用 productmaterial

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

我如何实现这个而不是使用 productmaterialid

你不能使用 hateos 来做到这一点,因为 post 请求将尝试 link 使用你提供的 link 这些子实体“http://localhost:8080/api/materials/1"

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

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