Тип datetime в базе данных выходит в виде массива в формате json. Как я могу получить его в виде строки? - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть проект Spring MVC на Java, и при получении информации из базы данных MySQL в формате JSON типы DateTime помещаются в массив

 {"start":[2019,3,25,11,0],"end":[2019,3,25,14,0]}

Мне нужно, чтобы они были в виде строки,Я не слишком знаком с пружиной, поэтому я не знаю, есть ли аннотация, которую я могу использовать, чтобы остановить это?

Это мой контроллер

@RequestMapping(value = "/events")
@ResponseBody
@JsonSerialize(using = LocalDateTimeSerializer.class)
List <Events> events (@RequestBody @RequestParam("to") 
@DateTimeFormat(iso= ISO.DATE_TIME) LocalDateTime start, 
@RequestParam("from") @DateTimeFormat(iso = ISO.DATE_TIME) LocalDateTime 
 end){

    System.out.println("Start DateTime: "+ start);
    System.out.println("End DateTime: "+ end);
    List<Events> eventsToreturn = eventService.findBetween(start, end);
    return eventService.findBetween(start, end);
}

Я хочу, чтобы это вернулосьФормат json без начала и конца в массиве.

1 Ответ

0 голосов
/ 04 апреля 2019

Прежде всего убедитесь, что в ваших зависимостях jackson-datatype-jdk8.

Если вы хотите использовать формат ISO 8601, лучше всего использовать класс OffsetDateTime.

Вам также следует настроить Джексона на отключение SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, чтобы оно записывалось в правильном формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...