2016-06-27 2 views
0

Я попытался настроить ObjectMapper на встроенный play.libs.Json. Я следил за документацией, однако MapperLoader, похоже, игнорируется.Изменение формата даты JsonConverter для Play 2.5

Это то, что я делаю (на основе документации):

  • Создать CustomMapperLoader public class JsonMapperLoader extends GuiceApplicationLoader { @Override public GuiceApplicationBuilder builder(final Context context) { ObjectMapper mapper = Json.newDefaultMapper() .setDateFormat(new SimpleDateFormat(Constants.ISO8601_DATE_FORMAT)); Json.setObjectMapper(mapper); return super.builder(context); } }

  • Явное загрузить загрузчик в application.conf:

play.application.loader = "JsonMapperLoader"

Когда я сериализую дату, она по-прежнему дает мне метку времени вместо указанного формата.

У меня есть несколько обходных путей для этого:

  1. Я поставил объект картографа при создании ApplicationController
  2. Я отключить play.core.ObjectMapperProvider и включить мою CustomObjectMapperProvider.

Есть ли лучшие альтернативы для этой проблемы?

Благодаря & С уважением,

ответ

0

Я никогда не пробовал метод, предложенный в руководстве (с пользовательскими ApplicationLoader). Я использую другую технику. Короче: существует класс, который настраивает ObjectMapper; класс вводится в модуль как одноэлементный.

Вы можете увидеть полный код примера here.

Смежные вопросы