получить ошибку как в почтальоне, так и в угловых - PullRequest
1 голос
/ 04 ноября 2019

У меня угловой передний и задний конец в .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. "

Ниже приведен снимок экрана:

enter image description here

, когда я пытался позвонитьниже URL в почтальоне:

https://localhost:44328/api/AllItProjectsLists?Name=Test&Description=TestDec

Я получаю сообщение об ошибке ReferenceError: Имя не определено

Ниже приведен снимок экрана:

enter image description here

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, а почтальон выдает ошибку ссылки на имя.

ниже указано значение объекта проекта:

enter image description here

любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 05 ноября 2019

как только я поставил Observable перед этим методом

AddProjectDetails(project: AllItProject): Observable<AllItProject>

код начал работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...