Проблемы с передачей ISODate из php-интерфейса в бэк-энд Spring, дата публикуется правильно, но принимается как нулевое значение
Я отправляю данные json, представляющие некоторые настройки из php-интерфейса, в бэкэнд с пружинной загрузкой. В этих данных есть значение для даты, которую я отформатировал для даты ISO8601. Я знаю, что API использует этот формат для отладки ответа на запрос get для текущих настроек.
Моя проблема в том, что дата получена на стороне контроллера пружины как нулевая. Дата определенно отправляется в правильном формате со стороны php с помощью curl.
Я попытался явно добавить формат даты в объекте домена, а также добавить привязку инициализации в мой контроллер, но ни одно из решений не помогло мне.
Ниже приведен метод контроллера принимающей пружины и соответствующие части моего класса объектов домена для настроек:
/**
* update settings in db on request from app
*
* @param deviceSettings
*/
@PostMapping(value = "/updateSettings")
void update(@RequestBody DeviceSettings deviceSettings) {
deviceSettingsService.updateDeviceSettings(deviceSettings);
logger.info("updated device with id : {}", deviceSettings.getDeviceId());
}
===========================
@Document(collection = "deviceSettings")
public class DeviceSettings {
/**
* Date where settings were last updated
*/
@Field(value = "lastUpdate")
private Date lastUpdatedDate;
@JsonSerialize(using = ISODateSerializer.class)
public Date getLastUpdatedDate() {
return lastUpdatedDate;
}
public void setLastUpdatedDate(Date lastUpdatedDate) {
this.lastUpdatedDate = lastUpdatedDate;
}
}
===========================
РЕДАКТИРОВАТЬ: уже пробовал добавить:
===========================
Контроллеру:
@InitBinder
public void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
}
К объекту домена:
/**
* Date where settings were last updated
*/
@DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ssZ")
@Field(value = "lastUpdate")
private Date lastUpdatedDate;
Любые предложения о следующих шагах будет принята с благодарностью.