簡體   English   中英

通過MVC Controller使用angular發出http post / put請求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM