首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPClient GetAsync post对象

HTTPClient GetAsync post对象
EN

Stack Overflow用户
提问于 2014-03-19 11:54:23
回答 1查看 3.4K关注 0票数 0

我们目前有一个通用的MVC方法,它可以从ASP.NET Web获取数据

代码语言:javascript
复制
 public static T Get<T>(string apiURI, object p)
    {
        using (HttpClient client = new HttpClient())
        {
            client.BaseAddress = new Uri(Config.API_BaseSite);

            HttpResponseMessage response = client.GetAsync(apiURI).Result;


            // Check that response was successful or throw exception  
            if (response.IsSuccessStatusCode == false)
            {
                string responseBody = response.Content.ReadAsStringAsync().Result;
                throw new HttpException((int)response.StatusCode, responseBody);
            }

            T res = response.Content.ReadAsAsync<T>().Result;
            return (T)res;
        }
    }

我们的问题是:-很明显,我们不能像你发邮件那样发送'p‘,

代码语言:javascript
复制
  client.PostAsync(apiURI, new StringContent(p.ToString(), Encoding.UTF8, "application/json")

但是,我们如何使用get发送这个对象/ JSON。我们已经看到将其作为URL的一部分发送,但是,还有其他的选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-19 12:16:59

get 发送带有查询字符串( URL的末尾)的值,关于“但是我们如何使用get发送这个对象/ JSON,但是我们已经看到了将它作为URL的一部分发送,但是,还有其他的选择吗?”

另一种选择是POSTPUT

当用户创建键/url时,最好使用PUT。您可以查看一些例子,如cnn.com -其中的URL只是文章标题的简短版本。你想在那个网址上放一页。

示例:t2

有"five-things-to-know-for-your-new-day-wednesday-march-19-2014",的网址,它是从“你的新年五件事--2014年3月19日星期三”的文章标题中生成的。

一般来说,您应该遵循以下指导方针:

当您想从服务器获取数据时,请使用GET。想想搜索引擎吧。您可以在查询字符串中看到搜索查询。你也可以预订,标记它。它根本不会改变服务器上的任何东西。

如果要创建资源,请使用POST

当您想要创建资源时,请使用PUT,但它也会覆盖它们。如果将对象放置两次,则服务器状态只更改一次。职位的情况正好相反。

当您想要删除内容时使用删除

无论是POST还是PUT都不使用查询字符串。得了吧

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22505022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档