LocalDate с JPA не работает правильно - PullRequest
0 голосов
/ 01 апреля 2020

Я запрашиваю localhost:8080/history/world/2020-02-08

Объект:

public class DailyStatistic {
...
@Column(columnDefinition = "DATE")
    private LocalDate date;
...

Контроллер:

@GetMapping("/world/{date}")
    public ResponseEntity<List<DailyStatistic>> getWorldStatByDate(@PathVariable String date) {
        List<DailyStatistic> worldStatList = null;
        try {
            worldStatList = dataProvider.getWorldStatByDate(LocalDate.parse(date));
...

Вызванный метод dataProvider:

public List<DailyStatistic> getWorldStatByDate(LocalDate date) throws NoDataException {
        List<DailyStatistic> dailyStatisticList = repository.findAllByDate(date);
...

Вызванный метод репозитория:

 @Repository
public interface DailyStatRepository extends JpaRepository<DailyStatistic, Long> {

    List<DailyStatistic> findAllByDate(LocalDate date);

Json ответ:

{
...
"date": "2020-02-07",
...
}

Напоминание ввода: localhost:8080/history/world/2020-02-08

Таким образом, я получаю неправильный результат. Кто-нибудь знает, почему это происходит и как это решить?

1 Ответ

0 голосов
/ 02 апреля 2020

Попробуй таким образом в своей сущности

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.time.LocalDateTime;


@JsonSerialize(converter = LocalDateTimeToStringConverter.class)
@JsonDeserialize(converter = StringToLocalDatetimeConverter.class)
private LocalDateTime date;

Посмотри на это

Или просто так

@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate date;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...