Я хочу, чтобы дата отображалась в формате миллисекунд (эпох), но получая дату с отметкой времени - PullRequest
0 голосов
/ 06 декабря 2018
@Data
public class SampleDate {
   private Date revisiondate;
}

@RequestMapping("/date")
public ResponseEntity<List<SampleDate>> getDateSample()
{
    List<SampleDate> listDate = new ArrayList<>();
    SampleDate sampDate = new SampleDate();
    sampDate.setRevisiondate(new Date());
    listDate.add(sampDate);
    return new ResponseEntity<>(listDate,HttpStatus.OK);
}

Вывод: [{"revisiondate": "2018-12-06T06: 06: 18.795 + 0000"}]

Ожидаемый вывод: [{"revisiondate": 1544077577462}]

Я использую версию Springboot 2.0.3.RELEASE.В версии Springboot 1.3.2.RELEASE я смог добиться этого.Кто-нибудь сталкивался с этим при обновлении Springboot.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Судя по этому руководству , предполагая, что SpringBoot все еще использует Джексона, похоже, что вы можете указать, что форма данных должна быть числом:

@JsonFormat(shape = JsonFormat.Shape.NUMBER)
private Date revisiondate;

(по общему признанию, это руководствоописывает это как секунд с эпохи Unix, но это дает пример миллисекунд.)

0 голосов
/ 06 декабря 2018

Вы можете использовать нижнюю аннотацию в верхней части поля даты.

@JsonFormat(shape = JsonFormat.Shape.NUMBER)
private Date revisiondate;

Как предлагается здесь

...