Опубликовать угловой массив 7 и веб-API ядра .NET - PullRequest
0 голосов
/ 25 февраля 2019

Я написал почтовый индекс Http из Angular 7 в основной веб-API asp.net.Я прилагаю фрагменты кода ниже.Я получаю пустой массив в .net core API.вот мой код в Angular 7, написанный в файле Component.ts

saveEducation(edu: Education[]) { const obj = new Education(this._http, 
this._deoServices);
obj.saveEducation(edu).pipe(takeUntil(this.destroy$)).subscribe((res) => 
{
 // this.eduData = res;
 });
}

Вот код, написанный в классе модели компонентов

saveEducation(edu: Education[])  {
return this._service.saveEducation('/api/Deo/SaveEducation', edu);
}

А вот код написан в service.ts file.

public saveEducation(api: string , model: Education[]): Observable<boolean> 
{
     return this._http.post<boolean>(api, {education: model.values}, {
        headers: new HttpHeaders({
         'Content-Type' : 'application/json'
       })
    });
}

А вот код Web API, принимающий массив.

public bool SaveEducation( dynamic[] edu)
{
     var obj = new Candidate_Educational_Info_Table(_context);
    return obj.SaveEducation(edu);
}

Пожалуйста, помогите мне найти ошибку, поскольку я получаю пустой массив

Вот результаты вкладки сети

Секунды вкладки сети сс

Вот изображение, где я получаю нулевой массив

Вот снимок экрана с заголовком запроса

1 Ответ

0 голосов
/ 25 февраля 2019

Замените {education: model.values} на model.values.

Теперь это будет выглядеть так:

this._http.post<boolean>(api, model.values, {
    headers: new HttpHeaders({
    'Content-Type' : 'application/json'
    })
});

Поскольку по умолчанию WebAPI настроен для чтения из тела.При желании вы можете добавить FromBody в WebAPI.

public IActionResult SaveEducation([FromBody]Education[] edu)
{
     var obj = new Candidate_Educational_Info_Table(_context);
     var result = obj.SaveEducation(edu);
     return Ok(new { sucess = result });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...