如何在C#中返回HTTP调用响应

时间:2018-02-01 07:06:37

标签: c# .net http

我正在尝试在此HTTP调用中返回.module.css的响应。我尝试了几种方法,但没有成功。任何的想法?响应是一个带有对象的json,我希望能够访问streamInfo> avgRatings> _overall

productRating

enter image description here

GetRatings Erroe:并非所有代码路径都返回一个值。

产品错误:无法将[]索引应用于HttpResponseMessage类型的表达式

return错误:需要可转换为double的类型的对象

3 个答案:

答案 0 :(得分:1)

ApiCall必须返回一些东西。看下面的例子。

@functions {

    public static string ApiCall()
    {
        return "Hello World!";
    }
}
@{
    var ratings = ApiCall();
}

@if (ratings != null)
{
    <div class="gig-rating-stars" content=@ratings></div>
}

答案 1 :(得分:0)

我正在使用此函数进行POST API调用并返回响应字符串,如果要添加安全功能,可以在JObject中发送它,因为它是将Jobject作为URL参数发送的安全通道

##代码开始##

protected string RemoteApiCallPOST(JObject elements, string url)
        {
            try
            {
                var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
                httpWebRequest.ContentType = "application/json";
                httpWebRequest.Method = "POST";
                // JObject jsonResult = new JObject();
                string id;
                using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                {
                    streamWriter.Write(elements);
                    streamWriter.Flush();
                    streamWriter.Close();
                }

                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    id = (streamReader.ReadToEnd()).ToString();

                    return id;
                }
            }
            catch (Exception EX)
            {
                return "";
            }
        }

代码结束

答案 2 :(得分:0)

我需要做的唯一改变就是改变&#34; var&#34;到&#34;动态&#34;在:

&#13;
&#13;
dynamic response = JsonConvert.DeserializeObject(client.GetAsync(urlParams).Result.Content.ReadAsStringAsync().Result);
&#13;
&#13;
&#13;