2016-07-25 49 views
0

我需要在MVC控制器中調用此方法並將UpdateRequest對象作爲json格式傳遞。我怎麼能做到這一點?如何在MVC中調用WebAPI方法並將json對象發送給它

[HttpPost] 
    [Route("updatecertificate")] 
    public void updatecertificate([FromBody] UpdateRequest certificatereviewed) 
    { 
     loansRepository.updatecertificate(certificatereviewed.Id, certificatereviewed.CertificateReview); 
    } 

,這是輸入類:

public class UpdateRequest { 
    public int Id { get; set; } 
    public bool CertificateReview { get; set;} 
} 

這是我如何打電話和發獨立的變量,但現在我喜歡發類對象JSON格式。

private async Task UpdateFundingCertificateReviewed(int id, bool fundingCertificateReviewed) 
    { 
     await httpClient.PostAsync(string.Format("{0}/{1}", LoanApiBaseUrlValue, updatecertificate),null); 
    } 

回答

0

我個人喜歡Newtonsoft.Json來序列化對象。

private async Task UpdateFundingCertificateReviewed 
     (int id, bool fundingCertificateReviewed) 
{ 
    using (var client = new HttpClient()) 
    { 
     var url = string.Format("{0}/{1}", LoanApiBaseUrlValue, updatecertificate); 
     var updateRequest = new UpdateRequest { Id = 1, CertificateReview = true}; 
     var data = JsonConvert.SerializeObject(updateRequest); 
     await client.PostAsync(url, data); 
    } 
} 

FYI:異步沒有回報是不是一個好的做法。但是,這是不符合原始問題的。

0

如果你想變換對象成JSON字符串,看到了這個問題:Turn C# object into a JSON string in .NET 4 var json = new JavaScriptSerializer().Serialize(obj);

這是你以後還是你想知道如何構建一個HTTP請求什麼JSON對象在體內?

0

你的問題不是很清楚,你期望的結果是什麼? 如果你想POST使用JSON身體的要求,您可以檢查@win評論, 但是如果你想從API的響應到MVC項目你應該做更多的步驟強硬。 :))

相關問題