Дата из базы данных MySQL не загружается в форму выбора даты углового материала при загрузке - PullRequest
0 голосов
/ 03 июля 2019

У меня есть база данных с таблицей со столбцом 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

Мне бы хотелось, чтобы существующая дата отображалась в таблице при загрузке страницы владельца обновления.

...