Добрый день, во фронтенд разработке совсем недавно , так что прошу отнестись с пониманием
Проблема такая:
Отправляю пост запрос к веб апи с введенными данными и возникает ошибка со статусом 400.
В payload пусто, в response такая ошибка The JSON value could not be converted to air_astana_webapi.Models.AirLine. Path: $ | LineNumber: 0 | BytePositionInLine: 1."
Вот код сервиса:
addAirline(data:any)
{
readonly airlineAPIUrl = 'https://localhost:44336/api'
debugger
return this.http.post(this.airlineAPIUrl + '/airlines', data);
}
код с компонента формы откуда вводятся данные:
AddAirline()
{
debugger
this.airLine.Id != 0;
this.airLine.companyName = this.company;
this.airLine.airLineStatus = this.status;
this.airLine.whereFrom = this.where;
this.airLine.whereFromTime = moment(this.timeWhere,"HH:mm").toISOString();
this.airLine.from = this.from;
this.airLine.fromTime = moment(this.timeFrom,"HH:mm").toISOString();
this.airLine.airLineDelayTime = this.delay;
this.service.addAirline(this.airLine).subscribe(res => {this.refreshAirlinesList()}, error=> {console.log(error)/*alert('Error')*/});
}
пост метод в контроллере:
[HttpPost]
[Authorize]
public async Task<ActionResult<AirLine>> PostAirLines(AirLine airLine)
{
if (airLine == null)
{
return BadRequest();
}
else
_context.AirLines.Add(airLine);
await _context.SaveChangesAsync();
return CreatedAtAction("GetAirline", new { id = airLine.Id }, airLine);
}
И класс в апи с этими свойствами
public class AirLine
{
public int Id { get; set; }
public string CompanyName { get; set; }
[StringLength(30)]
public string AirLineStatus { get; set; } = string.Empty;
[StringLength(100)]
public string WhereFrom { get; set; } = string.Empty;
public DateTime WhereFromTime { get; set; }
[StringLength(100)]
public string From { get; set; } = string.Empty;
public DateTime FromTime { get; set; }
public int AirLineDelayTime { get; set; }
}
Все параметры в пост запросе соответствуют с теми что в классе airline
Буду признателен любой помощи и подсказке.
В свагере все работает как надо и проблема во фронтенд части как я понимаю.