我使用的彈簧數據休息,我有以下通過休息利用休息春天的數據與引用創建資源
DonationRequest春天數據暴露現在我有
@Data
@Entity
@Table(name="donation_request",schema="public")
public class DonationRequest {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="donation_request_id")
Integer donationRequestId;
@Column(name="expiry_datetime")
Date expiryDatetime;
@Column(name="blood_group")
String bloodGroup;
@Column(name="no_of_bottles")
String noOfBottles;
@OneToOne
@JoinColumn(name="hospital_id")
Hospital hospital;
@OneToOne
@JoinColumn(name="user_data_id")
UserData requester;
@Column(name="active")
Boolean active;
}
醫院
@Data
@Entity
@Table(name="hospital",schema="public")
public class Hospital {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="hospital_id")
Integer hospitalId;
@Column(name="name")
String name;
@Column(name="address")
String address;
@Column(name="loc",columnDefinition = "geometry")
Point loc;
}
實體一個具有與上述相同的類定義的Android客戶端。醫院在Android客戶端啓動時緩存。現在我想在服務器上創建一個donationRequest實體。我可以通過將donationRequest對象的json發佈到/ api/donationRequests來輕鬆完成此操作。這個json也包含醫院對象。但新創建的捐贈請求和醫院並沒有聯繫在一起。
繼郵遞員不會創建鏈接JSON的類型:
{
"bloodGroup":"AB+",
"hospital":{
"hospitalId":1
}
}
我知道下面的JSON時創建鏈接:
{
"bloodGroup":"AB+",
"hospital":"/api/hospitals/1"
}
我的問題是我如何使用第一種類型的創建鏈接json,因爲這是從android客戶端序列化dontaionRequest對象的自然方式?此外,我希望醫院通過/ api /醫院暴露,因此刪除該剩餘資源的不是選項。
非常有趣的解決方案。自定義控制器不會更容易? – Cepr0
對於自定義控制器,我將不得不單獨與所有實體一起執行此操作。 – ArslanAnjum