У меня есть база данных с таблицей со столбцом date_of_birth, который является атрибутом datetime. В Angular 8, используя Angular-Material, я создал таблицу, которая отображает данные из базы данных, и я могу нажать кнопку обновления, чтобы перейти к форме с данными, предварительно загруженными в форму, и пользователь может внести любые необходимые изменения. Однако, поскольку атрибуты имени и адреса загружаются в форму, дата рождения не указывается.
Я использую Spring Boot Rest API для получения и обновления данных в строке.
Я попытался изменить тип данных на просто дату, однако в результате обновления показывают дату на день раньше.
<mat-form-field>
<input matInput [matDatepicker]="picker" placeholder="Choose a date of birth"
formControlName="dateOfBirth" id="dateOfBirth">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
Методы контроллера для даты показаны ниже
@PutMapping("/owner/update/{id}")
public ResponseEntity<Owner> updateOwner(@PathVariable(value = "id") Long ownerId,
@Valid @RequestBody Owner ownerDetails) throws ResourceNotFoundException {
Owner owner = ownerRepository.findById(ownerId)
.orElseThrow(() -> new ResourceNotFoundException("Owner not found for this id :: " + ownerId));
owner.setName(ownerDetails.getName());
owner.setDateOfBirth(ownerDetails.getDateOfBirth());
owner.setAddress(ownerDetails.getAddress());
final Owner updatedOwner = ownerRepository.save(owner);
return ResponseEntity.ok(updatedOwner);
}
Таблица, показанная в рабочей среде MySQL, показана ниже 1
Мне бы хотелось, чтобы существующая дата отображалась в таблице при загрузке страницы владельца обновления.