Существует библиотека jackson-datatype-jsr310 . Попробуй.
Эта библиотека охватывает новый API даты и времени и включает сериализаторы для ZonedDateTime
.
Все, что вам нужно, это просто добавить JavaTimeModule
:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
ОБНОВЛЕНИЕ
Для преобразования даты и времени в строку ISO-8601
Вы должны отключить функцию WRITE_DATES_AS_TIMESTAMPS
. Вы можете легко сделать это путем переопределения компонента ObjectMapper
или использования свойств приложения :
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS = false
Для меня это не имеет смысла - у меня есть (относительно простое) приложение, которое отображается в facebook, даже если пользователь никогда раньше не входил в facebook (в в этом случае отображаются демонстрационные данные).
При использовании PHP-библиотеки facebook я просто делаю следующее:
$ facebook = new Facebook ($ api_key, $ secret);
Не требуется идентификатор сеанса - но, очевидно, , функции api, которые зависят от информации о пользователе, не будут работать.
Вы также можете изучить «бесконечный сеанс» для своего приложения - вы можете создать бесконечный сеансовый ключ для себя и используйте этот сеанс для доступа к API.
Для справки, мне удалось решить эту ситуацию, разработав небольшой бэкэнд, который требует, чтобы клиент один раз авторизовался в Facebook и предоставил offline_access
расширенное разрешение для FB, чтобы я мог сохранить его сеансовый ключ и использовать его для аутентификации клиента API Facebook каждый раз, когда мне нужно использовать FQL для получения непубличного контента.
Очевидно, можно было бы добавить некоторое кеширование в середине, чтобы избежать ненужных запросов к Facebook, но он работает нормально уже несколько месяцев, не превышая никаких ограничений, о которых я знаю.