[英]make http post/put request using angular via MVC Controller
我正在使用角度4調用Put方法,如下所示。我從角度調用Home控制器。 對於GET方法,它工作正常,但是我無法通過Post / Put方法傳遞主體參數。 這是我的角度代碼
public saveData(item: CustomerList[]): any {
let header = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: header });
return this
.http
.post('/Home/Put?endpoint=myApi/CustomerService/', JSON.stringify(item), options)
.subscribe(res => {
console.log(res);
const response = res.text();
})
點擊下面的控制器方法。 但是Data參數設置為null。
public class HomeController : Controller
{
[HttpPut]
public object Put(string endpoint, [FromBody ]object data)
{
// ** My issue is here data is getting as null **
var result = _myRestSharp.Put<object,object>(endpoint, data);
return result;
}
[HttpGet]//Working fine
public object Get(string endpoint)
{
var result = _reveraApiClient.Get<object>(endpoint, null,
return result;
}
}
有什么建議為什么變量'data'變成null?
名為“數據”的[FromBody]參數是對象類型。 MVC無法將發布的Json反序列化為對象類型,因為它沒有匹配的屬性。 在c#中創建一個可以將數據序列化到的類,或者使用類型JObject。 推薦使用一個類,因為它很清楚您的方法期望什么數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.