2016-07-29 4 views
0

私はこれを行う方法がわからないので、私はAspのMvcで新しいですか?Asp MVC 5を使用してJsonに基づいてWeb Apiを消費する方法は?

私は補充APIを使用していますので、私はいくつかのデータをURLに渡したいと思います。

ブラウザでこのWeb APIのURLを実行すると、それぞれの携帯電話番号が正しく再充電されます。だから私は充電をうまくやりたい。

のAPI URL:

https://www.example.com/recharge?api_token=token&number=123456789&amount=10 

コード:

public ActionResult Recharge() 
{ 
    string url = 
         "https://www.example.com/recharge?api_token=token&number=123456789&amount=10"; 
        client = new HttpClient(); 
        client.BaseAddress = new Uri(url); 
        client.DefaultRequestHeaders.Accept.Clear(); 
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
        var response = ConsumeApi(2); 
return View(); 
} 

    public async Task<String> ConsumeApi(int id) 
      { 
       HttpResponseMessage responseMessage = await client.GetAsync(url); 
       if (responseMessage.IsSuccessStatusCode) 
       { 
        var responseData = responseMessage.Content.ReadAsStringAsync().Result; 

        return responseData; 
       } 
       return "wrong"; 
      } 

答えて

1

はあなたがconsumeApiへの呼び出しを待つことを試みたことがありますか?あなたのビューは、潜在的に返される非同期(async)呼び出しは

client.DefaultRequestHeaders.Accept.Clear(); 
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
var response = await ConsumeApi(2); 
return Json(response); 

を完了する前に、これがあるので、あなたのメソッドを呼び出すときに、ブラウザでRESPONSを調べることができるように私は、JSONにあなたの応答を変更しました。

+0

ありがとう@Jras it's working –

関連する問題