我試圖學習如何使用Jersey編寫REST風格的應用程序和使用Jersey編寫REST風格的應用程序,並且我很努力地理解在將數據發佈到資源時如何處理父/子類型 關係。我使用JSON來交換 數據,但我不認爲這與我的問題特別相關。REST風格的1-N可選關係
的例子中,我與模型工作的員工和團隊 之間的關係。一個僱員可能或可能不,是一個團隊的成員:
GET /team/ - returns a list of teams
POST /team/ - creates a new team
GET /team/1 - returns a list of employees in the team with the ID 1
GET /employee/ - returns a list of employees
POST /employee/ - creates a new employee
GET /employee/1 - returns details about the employee with the ID 1
在這背後我有一些休眠註釋的POJO:一個用於團隊,和一個 爲僱員,以兩者之間的1-N的關係(請記住, 員工可能不是團隊的成員!)。同樣的POJO也註釋 作爲@XmlRootElements使JAXB將允許我將它們傳遞給/從 客戶端爲JSON。
兩個實體的屬性是這樣的:
Team
Long id;
String name;
String desc;
List<Employee> employees;
Employee
Long id;
Team team;
String name;
String phone;
String email;
所有好爲止。但我努力理解如何讓僱員通過 正好路過一個團隊的ID,而不是 傳遞嵌套組對象在我的JSON對象中的一個團隊在創建時的成員。
例如,我希望能夠調用POST /員工/用JSON是 看起來是這樣的:
{
"team_id":"1",
"name":"Fred Bloggs",
"phone":"1234567890",
"email":"[email protected]"
}
但是,相反,我有這樣的事情經過:
{
"team":{
"id":"1",
}
"name":"Fred Bloggs",
"phone":"1234567890",
"email":"[email protected]"
}
所以,我的問題是,其他人如何處理在JSON/REST中創建關係而不傳遞整個對象圖?
對不起,這是一個粗略的問題,但正如我所說,我剛剛開始 了,在這個階段術語對我來說是一個問題!