2017-05-27 235 views
1

Spring中的RepositoryRestResource注释在定义的路径片段上创建端点,例如,带路径参数的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

[在Spring Data REST中发布@OneToMany子资源关联]的可能副本(https://stackoverflow.com/questions/25311978/posting-a-onetomany-sub-resource-association-in-spring-data -rest) –

回答

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" 
} 

注意有效载荷的最后一行。它指的是关联的实体。

此解决方案工程但它不是我希望它的工作方式。我希望用户自己发布费用,而不是参考一般费用表。

0

我认为this是你需要的。

希望得到这个帮助。

+0

嗨@Erwin。感谢您的帮助。你链接的巨大文章描述了Spring与REST的基本用法。我使用'RepositoryRestResource'的问题稍微有点特别。实际上,该页面甚至没有提及该注释。另外请注意,在StackOverflow中不鼓励链接回答,因为外部页面可以随时更改或移动。如果您在外部页面上找到答案,请在链接之外引用相关部分。 –