Request:
{
"messageHeader":{
"serviceId":"SPECTRUM_MOBILE",
"requestType":"MNO",
"referenceNumber":"2343422324340239243223"
},
"data":{
"transactionType":"GD",
"transactionTimeStamp":"2020-07-13T18:42:37Z",
"deviceId":[
{
"type":"IMEI",
"value":"3371869789537"
}
],
"simId":[
{
"type":"ICCID",
"value":"787109194753727"
}
],
"status":[
{
"type":"migrationStatus",
"value":"MIGRATED"
}
]
}
}
Expected Response:
{
"serviceId":"SPECTRUM_MOBILE",
"requestType":"MNO",
"referenceNumber":"2343422324340239243223",
"IMEI":"3371869789537",
"ICCID":"787109194753727",
"migrationStatus":"MIGRATED"
}
Actual Response:
flatterJson:::com.excelacom.wearable.bean.FlatterJson@3043fe0e
Pojo class:
package com.excelacom.wearable.bean;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonUnwrapped;
import groovy.transform.SelfType;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class FlatterJson {
@JsonUnwrapped
private MessageHeader messageHeader;
@JsonUnwrapped
private Data data;
}
@Getter
@Setter
@ToString
class MessageHeader {
private String serviceId;
private String requestType;
private String referenceNumber;
}
@Getter
@Setter
@ToString
class Data {
@JsonUnwrapped
private DeviceId deviceId;
@JsonUnwrapped
private SimId simId;
@JsonUnwrapped
private SimId status;
}
@Getter
@Setter
@ToString
class DeviceId {
@JsonAlias("IMEI")
private String value;
}
@Getter
@Setter
@ToString
class SimId {
@JsonAlias("ICCID")
private String value;
}
@Getter
@Setter
@ToString
class status {
@JsonAlias("migrationStatus")
private String value;
}
Request needs to be set in pojo class and response should be flatten json.