Spring中的RepositoryRestResource注释在定义的路径片段上创建端点,例如
@RepositoryRestResource(path = "expenses")
会创建端点,如:
/expenses
/expenses/search
/expenses/1
有没有办法在该存储库中包含路径参数?我希望看到仅与特定用户相关的费用,例如“迈克尔”:
/users/michael/expenses
/users/michael/expenses/search
/users/michael/expenses/1
编辑1
我设法通过在User
上使用相同的注释来到达那里,这导致了正确的终点:
/users/1/expenses
但是我无法在该资源上发布任何内容 - 服务器以空体回答。
答案 0 :(得分:0)
我找到了一个解决方案,你必须在一般项目集合上发帖(在我的案例中为expenses
),并将对包含实体的引用放入有效载荷中:
POST http://localhost:8080/expenses
{
"description": "new car",
"comment": "way too expensive...",
"amount": 3339,
"creationDateTime": "2017-05-26T13:12:11.000+0000",
"user":"http://localhost:8080/users/1"
}
请注意有效负载的最后一行。它指的是连接的实体。
此解决方案有效,但这不是我希望它的工作方式。我希望用户发布自己的费用,而不是在一般费用表上发布自己的费用。
答案 1 :(得分:0)
我认为this就是您所需要的。
希望得到这个帮助。