Я разработал Rest API на основе Spring, возвращая список DTO.В моем DTO у меня есть некоторые поля, имеющие TimeStamp в качестве DataType.В то время как я пытаюсь отладить, API возвращает значения хорошо и хорошо, только проблема в том, что все значения меток времени сокращаются на 2 часа.Например: должно возвращаться
2019-09-04 00: 00: 00.000,
, но возвращается
2019-09-03T22: 00: 00Z
Я уже пытался изменить дату и время своего компьютера, чтобы увидеть, есть ли какой-либо эффект, но не помогаю
@GetMapping("/")
public ResponseEntity<List<ActionCustomDto>> getAllActions(HttpServletRequest request, @RequestParam(value = "ncId", required = true) List<String> ncIdList, @RequestParam(value = "actionPlan", required = true) List<String> actionPlanList) {
LOGGER.info("Fetching Action List with the following params : ncIdList = " + ncIdList + ", actionPlanList = " + actionPlanList);
// String user = request.getHeader("X-User-Login");
// LOGGER.info("Retrieved user ad login : " + user);
List<String> exactActionPlans = this.populateExactActionPlans(actionPlanList);
List<ActionCustomDto> result = new ArrayList<>();
for (final String ncId : ncIdList) {
List<ActionPlanDto> actionPlans = this.actionPlanService.findRequiredActionPlans(ncId, exactActionPlans);
for (ActionPlanDto actionPlan : actionPlans) {
List<ActionDto> actions = this.actionService.findRequiredActions(actionPlan.getActionPlanId());
for (ActionDto action : actions) {
ActionCustomDto actionCustomDto = new ActionCustomDto();
this.populateActionCustomDto(actionCustomDto, action, ncId);
result.add(actionCustomDto);
}
}
}
return ResponseEntity.ok().body(result);
}
private void populateActionCustomDto(ActionCustomDto actionCustomDto, ActionDto action, String ncId) {
actionCustomDto.setActionDescription(action.getActionDescription());
actionCustomDto.setStartDate(action.getStartDate());
actionCustomDto.setDueDate(action.getDueDate());
actionCustomDto.setAssigneeResponse(action.getActionResponse());
actionCustomDto.setActionStatus(action.getActionStatus());
actionCustomDto.setIsDeleted(action.getIsDeleted());
}
открытый класс ActionCustomDto {
private String actionDescription;
private Timestamp startDate;
private Timestamp dueDate;
private String assigneeResponse;
private String actionStatus;
private Boolean isDeleted;
public String getActionDescription() {
return this.actionDescription;
}
public void setActionDescription(String actionDescription) {
this.actionDescription = actionDescription;
}
public Timestamp getStartDate() {
return this.startDate;
}
public void setStartDate(Timestamp startDate) {
this.startDate = startDate;
}
public Timestamp getDueDate() {
return this.dueDate;
}
public void setDueDate(Timestamp dueDate) {
this.dueDate = dueDate;
}
public String getAssigneeResponse() {
return this.assigneeResponse;
}
public void setAssigneeResponse(String assigneeResponse) {
this.assigneeResponse = assigneeResponse;
}
public String getActionStatus() {
return this.actionStatus;
}
public void setActionStatus(String actionStatus) {
this.actionStatus = actionStatus;
}
public List<String> getSerialNumbers() {
return this.serialNumbers;
}
public void setSerialNumbers(List<String> serialNumbers) {
this.serialNumbers = serialNumbers;
}
public Boolean getIsDeleted() {
return this.isDeleted;
}
public void setIsDeleted(Boolean isDeleted) {
this.isDeleted = isDeleted;
}
}
Фактический результат:
actionDescription: "action description 1",
startDate: "2019-09-03T22:00:00Z",
dueDate: "2019-09-03T22:00:00Z",
assigneeResponse: "",
actionStatus: "Action-Assigned-New",
isDeleted: false
}
Ожидаемый результат:
actionDescription: "action description 1",
startDate: "2019-09-04 00:00:00.000",
dueDate: "2019-09-04 00:00:00.000",
assigneeResponse: "",
actionStatus: "Action-Assigned-New",
isDeleted: false
}