2017-05-27 236 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中不鼓勵鏈接回答,因爲外部頁面可以隨時更改或移動。如果您在外部頁面上找到答案,請在鏈接之外引用相關部分。 –