微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-web-api – 如何从WEB API检索邮件?

我创建了一些Web apis,当发生错误时,api返回使用CreateErrorResponse消息创建的HttpResponseMessage。这样的事情
return Request.CreateErrorResponse(
              HttpStatusCode.NotFound,"Failed to find customer.");

我的问题是,我无法弄清楚消费者应用程序中的消息(在这种情况下是“找不到客户”)。

以下是消费者样本:

private static void GetCustomer()
{
    var client = new HttpClient();
    client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/json"));
    string data =
        "{\"LastName\": \"Test\",\"FirstName\": \"Test\"";

    var content = new StringContent(data,Encoding.UTF8,"application/json");

    var httpResponseMessage = 
                 client.PostAsync(
                    new Uri("http://localhost:55202/api/Customer/Find"),content).Result;
    if (httpResponseMessage.IsSuccessstatusCode)
    {
        var cust = httpResponseMessage.Content.
                  ReadAsAsync<IEnumerable<CustomerMobil>>().Result;
    }
}

任何帮助是极大的赞赏。

解决方法

确保您适当地设置了accept和或者内容类型(解析请求内容时可能有500个错误的来源):
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

content.Headers.ContentType = new MediaTypeWithQualityHeaderValue("application/json");

那你可以做:

var errorMessage = response.Content.ReadAsstringAsync().Result;

当然这是客户端。 WebApi应根据接受和/或内容类型适当处理内容的格式。好奇,你也可以抛出新的HttpResponseException(“找不到客户”),HttpStatusCode.NotFound);

原文地址:https://www.jb51.cc/aspnet/252409.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐