Spring Boot – пользовательская сериализация JSONJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Boot – пользовательская сериализация JSON

Сообщение Anonymous »

Обычно я использую примеси для выполнения пользовательской сериализации и десериализации при использовании библиотеки Джексона. В моем приложении RestController в Spring Boot есть методы, аналогичные перечисленным ниже. Я предполагаю, что Spring Boot использует Джексона для сериализации VerifyAccountResponse в строку. Однако это преобразует мои объекты календаря/даты в длинное значение, когда они преобразуются в строку. Я могу преобразовать их в соответствующий формат с помощью специального сериализатора. Однако после сериализации мне приходится изменить тип возвращаемого значения на объект. Есть ли способ сохранить ту же подпись и добавить собственный сериализатор к сериализации по умолчанию, выполняемой Spring Boot.

Код: Выделить всё

@RequestMapping(value ="verifyAccount", method = RequestMethod.POST, produces=MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity verifyAccount(@RequestBody VerifyAccountRequest request) {

VerifyAccountResponse response = service.verifyAccount(request);

return new ResponseEntity(response, HttpStatus.OK);
}
Изменить
Обновлено приведенное ниже на основе ответов, но миксин, похоже, не вступил в силу -

Код: Выделить всё

@Bean
public Jackson2ObjectMapperBuilder objectMapperBuilder() {
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();

builder.mixIn(ConnectStatus.class, com.datacast.service.util.DateFormatSerializerMixin.class);

return builder;
}
Изменить 2
Я создал простой проект весенней загрузки, чтобы проверить это, и он работает нормально. Но когда я использую этот подход в своем более крупном проекте, преобразования даты не происходит. Может ли быть что-нибудь, переопределяющее Jackson2ObjectMapperBuilder?

Подробнее здесь: https://stackoverflow.com/questions/396 ... ialization
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»