Невозможно создать экземпляр ошибки `java.security.Timestamp` весной. Rest - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть простой контроллер Rest, как указано ниже:

@PostMapping(value = "/DepositBalance")
public DepositBalanceResponse DepositBalance(@Valid @RequestBody DepositBalanceRequest requestDto) throws Exception {
    return depositService.GetDepositBalance(requestDto);
}

Вот поля DepositBalanceRequest:

private String profileId;
private String userName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp timestamp;

Когда я вызываю службу через Почтальон, как это:

{
    "profileId":"asdfasdf",
    "userName":"username",
    "timestamp":"2018-12-30 20:12:20",
}

Я получаю следующую ошибку:

"Type definition error: [simple type, class java.security.Timestamp]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `java.security.Timestamp` (no Creators, like default construct, exist): no String-argument constructor/factory method to deserialize from String value ('2018-12-30 20:12:20')\n at [Source: (PushbackInputStream); line: 4, column: 14] (through reference chain: com.api.v1.deposit.DepositBalanceRequest[\"timestamp\"])"

Мне интересно, я что-то пропустил?

1 Ответ

0 голосов
/ 01 января 2019

Благодаря M.Deinum, вместо Timestamp требуется использовать LocalDateTime

private String profileId;
private String userName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime timestamp;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...