1
我想獲得一個對象參數加載在我的一個類,但無法讓它工作。外部對象DeviceInfo
按預期加載,但MobileDeviceData
不是由於它位於Transaction
對象內部。春季RequestBody需要加載嵌套的對象
@RequestMapping(value="/mobile/device", method = RequestMethod.PUT)
public ResponseEntity<Object> flagDevice (@RequestBody List<DeviceInfo> deviceInfoList, @RequestHeader(value=IN_AUTH_CUSTOMER_GUID) String inAuthIdentity) {
... code here ...
}
爲了清楚起見,這裏是我的簡化@Entity類:
@Entity
public class DeviceInfo implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
private MobileDeviceReasonCode reasonCode;
@JsonProperty("mobile-data")
private MobileDeviceData mobileDeviceData;
public void setMobileDeviceData(MobileDeviceData mobileDeviceData) {
this.mobileDeviceData = mobileDeviceData;
}
}
而且我MobileDeviceData類看起來是這樣的:
@Entity
public class MobileDeviceData implements Serializable {
@Id
private long deviceInfoId;
@JsonProperty("resilient_id")
private String resilientId;
public long getResilientId() {
return resilientId;
}
public void setResilientId(long resilientId) {
this.resilientId = resilientId;
}
}
的JSON在未來:
[
{
"reasonCode": "CHARGEBACK",
"activityDate": 1447952509,
"inPermId": "CUSTOMER InPermId",
"transaction": {
"mobile-data": {
"resilient_id": 123
}
}
}
]
是否有某種方式可以加載MobileDeviceData
對象,而無需創建Transaction
對象,該對象除MobileDeviceData
類之外不包含任何內容?我希望有一些方法可以修改@JsonProperty
以通知它該對象位於Transaction
對象內。
此外,修改JSON不是一個選項。我已經問過了。
在DeviceInfo中,你是否忽略了transactino對象? – reos
@reos - 是的,除了保存MobileDeviceData對象之外,它什麼也不做。所以想省略它。 – DavidR