Я делаю пример CRUD с точечным углом и углом. Я сделал функцию в бэкэнде так:
CarController.cs
[Route("UpdateCar")]
[HttpPut]
public IActionResult Put([FromBody] Car car, long id)
{
var c = _context.Cars.First(e => e.CarId == id);
c.Brand = car.Brand;
c.Color = car.Color;
c.Model = car.Model;
c.LastChange = DateTime.Now;
c.TopSpeed = car.TopSpeed;
_context.SaveChanges();
return Ok();
}
Iя вызываю этот метод в моем автосервисе так:
updateCar(carvm: CarVM): Observable<CarVM> {
const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
return this.http.put<CarVM>(this.baseUrl, carvm, httpOptions)
}
И я использую этот метод, чтобы получить конкретную машину:
getCarById(carId: string): Observable<CarVM> {
return this.http.get<CarVM>(this.baseUrl + "/UpdateCar?id=" + carId)
}
Я вызываю этот метод в своем компоненте так:
EditCar(CarId: string) {
this.carservice.getCarById(CarId).subscribe(Response => {
this.dataSaved = false;
this.Carid = Response.CarId;
this.FormCar.controls['Brand'].setValue(Response.Brand);
this.FormCar.controls['Model'].setValue(Response.Model);
this.FormCar.controls['Color'].setValue(Response.Color);
this.FormCar.controls['TopSpeed'].setValue(Response.TopSpeed);
})
}
И наконец я связал это так:
<button type="button" class="btn btn-primary mr-1" (click)="EditCar(car.carId)">Edit</button>
В моем приложении CRUD работает создание, удаление, чтение.Когда я нажимаю на кнопку, в моем устройстве Google появляется сообщение об ошибке:
Поля не будут заполнены для редактирования, но я получаюЯ БЫ.Я попробовал несколько решений, но у меня это не сработало.
Что я делаю не так?