Problema de java set para chamar o campo Date em API
package controllers;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.google.gson.JsonObject;
import controllers.commons.BaseService;
import dto.ReservationDTO;
import play.Play;
import play.libs.WS;
import play.libs.WS.HttpResponse;
import play.libs.WS.WSRequest;
import play.mvc.results.RenderJson;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import okhttp3.FormBody;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
public class TestDriveSchedule extends BaseService {
public static void saveTestDriveSchedule() {
OkHttpClient client = new OkHttpClient.Builder().build();
String urlSave = Play.configuration.getProperty(“testdrive.url”)+Play.configuration.getProperty(“testdrive.saveSchedule.url”);
HttpUrl url = HttpUrl.parse(urlSave).newBuilder().build();
String oauthToken = session.get(“oauthToken”);
Request request = new Request.Builder()
.method(“OPTIONS”, null)
.url(url.toString())
.header(“Accept”, “application/json”)
.header(“Authorization”, "Bearer " + oauthToken)
.header(“APIKey”, Play.configuration.getProperty(“testdrive.api.key”))
.header(“X-CSRF-Token”, “fetch”)
.build();
Response response;
try {
response = client.newCall(request).execute();
String csrfToken = response.header(“X-CSRF-Token”);
ObjectMapper mapper = new ObjectMapper();
ReservationDTO dto = createReservationObj(new Date());
StringWriter stringEmp = new StringWriter();
mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
mapper.writeValue(stringEmp, dto);
RequestBody body = RequestBody.create(MediaType.get(“application/json”), stringEmp.toString());
JsonNode nodeR = mapper.readTree(stringEmp.toString());
Request request2 = new Request.Builder()
.url(url.toString())
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", "Bearer " + oauthToken)
.header("APIKey", Play.configuration.getProperty("testdrive.api.key"))
.header("X-CSRF-Token", csrfToken)
.post(body)
.build();
response = client.newCall(request2).execute();
JsonNode node = mapper.readTree(response.body().string());
renderJSON(node);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
renderJSON(e.getMessage());
}
}
private static ReservationDTO createReservationObj(Date date) {
date.setTime(1545350400000L);
ReservationDTO reservation = new ReservationDTO();
reservation.IBukrs = "0001";
reservation.IStatus = "1";
reservation.IKunnr = "B05AC00001";
ReservationDTO.IReserv iReserv = reservation.new IReserv();
iReserv.Zcvin = "9BHBH51DBCP000248";
iReserv.Partner = "248";
iReserv.Zccuno = "1111";
iReserv.Zconpo = "H";
String td = String.format("\\/Date(%d)\\/", date.getTime());
iReserv.Rdate = td.toString();
iReserv.Rtime5 = "X";
iReserv.Status = "R";
iReserv.ZcommtR = "teste";
iReserv.Kunnr = "B05AC00001";
reservation.IReserv = iReserv;
return reservation;
}
}
O quando salvo o json ele esta com as duas barras invertidas isso esta pessimo.
Alguém pode me ajudar a salvar uma só