I'm sending data to my local jersey server from the Gear S. I now want to display the reponse text from the
server but I can't seem to find out how. The code for my Gear S is the following:
function addHeartRate(heartrate){
if (new Date().toString() != heartRateTimestamp) {
heartRateTimestamp = new Date().toString();
var client = new XMLHttpRequest();
var url = "http://192.168.1.104:8080/appdata/post";
client.open("post", url);
client.setRequestHeader('Content-Type', 'application/json');
var parameters = [
{
"type": 2,
"HeartRate": {
"heartrate": heartrate,
"heartratesTimestamp": heartRateTimestamp,
"macAddress": macAddress
}
}
];
client.send(JSON.stringify(parameters));
console.log(client.responseText);
}
}
The code for my jersey server:
@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
@Produces("text/plain")
public String getJSONMessage(String gearSData) {
Gson gson = new Gson();
DataModels model = gson.fromJson(gearSData, DataModels.class);
for (DataModels.Container container : model) {
String innerJson;
switch (container.type) {
case 1:
innerJson = gson.toJson(container.Steps);
DataModels.StepsType steps = gson.fromJson(innerJson, DataModels.StepsType.class);
System.out.println(steps);
break;
case 2:
innerJson = gson.toJson(container.HeartRate);
DataModels.HeartRateType heartRate = gson.fromJson(innerJson, DataModels.HeartRateType.class);
System.out.println(heartRate);
break;
}
}
return "Answer";
}
How can this be done?