Gente, preciso de ajuda, se alguém puder me ajudar, agradeço! Estou recebendo um JSON e queria saber se posso levar as informações para uma LIST do meu modelo. é uma chamada para enviar 1 SMS Esta é a primeira vez que tento fazer algo com o JSON meu model tem todos os getters e setters.
public class Zenvia {
@JsonProperty("sendSmsResponse")
private String sendSmsResponse;
//Request
@JsonProperty("id")
private String id;
@JsonProperty("from")
private String from;
@JsonProperty("to")
private String to;
@JsonProperty("msg")
private String msg;
@JsonProperty("schedule")
private String schedule;
@JsonProperty("callbackOption")
private String callbackOption;
@JsonProperty("aggregateId")
private String aggregateId;
@JsonProperty("flashSms")
private boolean flashSms;
//Response
private long stats;
@JsonProperty("statusCode")
private String statusCode;
@JsonProperty("statusDescription")
private String statusDescription;
@JsonProperty("detailCode")
private String detailCode;
@JsonProperty("detailDescription")
private String detailDescription;
@JsonProperty("mobileOperatorName")
private String mobileOperatorName;
@JsonProperty("received")
private String received;
//getters and setters
}
minha chamada
public Zenvia senderUnique(Zenvia zenvia) {
Response response = null;
try {
Client client = ClientBuilder.newClient();
Entity payload = Entity.json(" {\n"
+ " \"sendSmsRequest\": {\n"
+ " \"from\": \"" + zenvia.getFrom() + "\",\n"
+ " \"to\": \"" + zenvia.getTo() + "\",\n"
+ " \"schedule\": \"" + zenvia.getSchedule() + "\",\n"
+ " \"msg\": \"" + zenvia.getMsg() + "\",\n"
+ " \"callbackOption\": \"" + zenvia.getCallbackOption() + "\",\n"
+ " \"id\": \"" + zenvia.getId() + "\",\n"
+ " \"aggregateId\": \"" + zenvia.getAggregateId() + "\",\n"
+ " \"flashSms\": " + zenvia.isFlashSms() + "\n"
+ " }\n"
+ " }");
response = client.target("https://api-rest.zenvia360.com.br/services/send-sms")
.request(MediaType.APPLICATION_JSON_TYPE)
.header("Authorization", "Basic ***********")
.header("Accept", "application/json")
.post(payload);
System.out.println("status: " + response.getStatus());
System.out.println("headers: " + response.getHeaders());
System.out.println("body:" + response.readEntity(String.class));
response.close();
} catch (Exception e) {
e.printStackTrace();
}
return zenvia;
}
Aqui segue meu retorno vindo daqui
response.readEntity(String.class)
meu retorno pode conter 1 ou mais resultados, qual a melhor pratica de consumir isso num LIST ?
string JSON response that im getting
body:{
"sendSmsMultiResponse" : {
"sendSmsResponseList" : [ {
"statusCode" : "10",
"statusDescription" : "Error",
"detailCode" : "080",
"detailDescription" : "Message with same ID already sent"
}, {
"statusCode" : "10",
"statusDescription" : "Error",
"detailCode" : "080",
"detailDescription" : "Message with same ID already sent"
}, {
"statusCode" : "10",
"statusDescription" : "Error",
"detailCode" : "080",
"detailDescription" : "Message with same ID already sent"
} ]
}
}