Невозможно передать данные в метод действия ядра .net из angular 5

Я пытаюсь отправить данные из углового компонента 5 в метод действия ядра .net. Я могу нажать метод действия, но значения равны нулю. В соответствии с приведенным ниже примером Usr.FirstName является нулевым в методе действия Sush.

Модель-

namespace VModels
{
    public class UserVM
    {
        public long UserId { get; set; }
        public string FirstName { get; set; }
    }
}

Метод действия .net core-

[HttpPost]
public IActionResult Sush(UserVM Usr)        
{
    UserVM objOutput = new UserVM();
    CommonGetPostMethod<UserVM, UserVM> objCommonMthd = new CommonGetPostMethod<UserVM, UserVM>();
    UserVM objvm = new UserVM();
    objvm.FirstName = "Susheel " + DateTime.Now.Ticks.ToString();
    objCommonMthd.SaveData(Usr, "https://localhost:44303/api/UserAPI", ref objOutput);            
    return View(Usr);
}

Почтовая метод в угловой 5-

SaveUser(userofrm: NgForm) {    
    var model = userofrm.value;
    var values = JSON.stringify(model);       
    this.hpclient.post<UserVM>("https://localhost:44321/User/Users/Sush", values).subscribe(success => { }, fail => { });    
}

Всего 1 ответ


Основываясь на коде, который вы предоставили, я провел тест со следующим простым примером, который хорошо работает на моей стороне, вы можете обратиться к нему.

// make request with testing data

var model = {'FirstName':'Test'};
var values = JSON.stringify(model); 
console.log(values);      
this.hpclient.post<UserVM>("https://localhost:44305/api/data/Sush", values, httpOptions).subscribe(success => { console.log(success);}, fail => { }); 

Определите и настройте заголовки для запроса (-ов)

import { HttpClient, HttpHeaders  } from '@angular/common/http'

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json'
  })
};

Действие контроллера API

[HttpPost("Sush")]
public IActionResult Sush(UserVM Usr)
{
    Usr.UserId = 100;
    return Ok(Usr);
}

Результат испытаний

введите описание изображения здесь

Чтобы устранить проблему, вы можете попытаться сделать запрос с теми же данными из инструмента почтальона и т. Д. И проверить, можете ли вы получить ожидаемые данные в методе действия. Или сделайте запрос с данными тестирования (как я сделал), а не со значением внутри userofrm , а затем проверьте, может ли он работать на вас.