У меня угловой передний и задний конец в .net. Я получаю сообщение об ошибке при попытке вызвать метод post на стороне .net. Я попытался вызвать тот же метод в Почтальоне и получил ошибку. Не уверен, что я делаю не так. ниже мой метод записи в .net:
[HttpPost()]
public async Task<ActionResult<AllItProjectsList>> PostAllItProjectsList(AllItProjectsList allItProjectsList)
{
_context.AllItProjectsList.Add(allItProjectsList);
await _context.SaveChangesAsync();
return CreatedAtAction("GetAllItProjectsList", new { id = allItProjectsList.ProjectId }, allItProjectsList);
}
когда я вызываю этот метод из angular, я получаю следующую ошибку:
Ошибка преобразования значения {null} в тип 'System.Int32». Путь 'projectId', строка 1, позиция 437. "
Ниже приведен снимок экрана:
, когда я пытался позвонитьниже URL в почтальоне:
https://localhost:44328/api/AllItProjectsLists?Name=Test&Description=TestDec
Я получаю сообщение об ошибке ReferenceError: Имя не определено
Ниже приведен снимок экрана:
allitprjectlists определен в моем классе модели. Ниже приведено определение:
с использованием System; с использованием System.Collections.Generic;
пространство имен WebAPI.Models {
public partial class AllItProjectsList
{
public string Name { get; set; }
public string Description { get; set; }
public string Type { get; set; }
public string SubType { get; set; }
public string ExecutiveSponsor { get; set; }
public string Division { get; set; }
public string Section { get; set; }
public string Status { get; set; }
public string AppDev { get; set; }
public double? AppDevPriority { get; set; }
public double? AppDevEffort { get; set; }
public string ProjectRequestDate { get; set; }
public string ProjectApprovalDate { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? ExpectedCompletionDate { get; set; }
public DateTime? ActualCompletionDate { get; set; }
public string Team { get; set; }
public string SurveyId { get; set; }
public int ProjectId { get; set; }
}
}
Мой звонок из angular в .net ниже:
AddProjectDetails(project: AllItProject) {
const httpOptions = { headers: new HttpHeaders({ 'Content-Type': 'application/json' }) };
return this.http.post<AllItProject>(ROOT_URL , project, httpOptions);
}
Ни одно из полей не требуется, кроме ProjectId. ProjectId - это поле идентификатора в базе данных. Я не уверен, почему angularжалуется, что projectId имеет значение null, а почтальон выдает ошибку ссылки на имя.
ниже указано значение объекта проекта:
любая помощь будет высоко оценена.