繁体   English   中英

通过Web API设置REST客户端应用程序(发布)

[英]Setting up a REST Client Application (Post) from a Web API

在尝试从Web服务检索POST操作的结果时遇到了一些问题。 我一直在使用chrome扩展程序来测试API服务,并且它们在那里工作。 但是我一直在用代码实现它方面遇到问题。

这是chrome扩展程序用法的示例:

例1例2

我想在代码上检索的是最后一部分,即POST操作生成的json数组,其内容为accessToken。

但是,在下面我一直使用的代码中,我只能访问状态(200 OK)等。

这是我正在使用的代码的预览:

       {
        HttpClient client = new HttpClient();

        client.BaseAddress = new Uri(url.Text);

        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(header.Text));

        HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, url.Text);

        request.Content = new StringContent(body.Text, Encoding.UTF8, header.Text);

        client.SendAsync(request)
            .ContinueWith(responseTask =>
            {
                MessageBox.Show(responseTask.Result.Content.Headers.ToString());
            }
            );
    } 

Header.Text恰好是“ application / json”,body.Text是具有各种属性(如用户名和密码(字符串格式))的body,而url.Text包含用于调用Web服务的完整URL。

我想知道我的代码在做什么错,我该怎么做才能获得包含accessToken的json数组

在您的代码中,您需要使用ReadAsStringAsync方法将HttpContent对象转换为string / json。 例如:

client.SendAsync(request)
      .ContinueWith(responseTask =>
      {
          var jsonString = responseTask.Result.Content.ReadAsStringAsync().Result;
          MessageBox.Show(jsonString);
      });

然后您可以根据需要转换jsonString

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM