Mon*_*kar 2 c# asp.net-web-api
HttpResponseMessage r = new HttpResponseMessage();
r.StatusCode = HttpStatusCode.OK;
r.ReasonPhrase = "SUCCESS";
Run Code Online (Sandbox Code Playgroud)
现在如何将我的客户对象按HttpResponseMessage
类传递给客户端?
一种方法是 return Request.CreateResponse(HttpStatusCode.OK, customers);
假设我不想以这种方式返回响应,Request.CreateResponse(HttpStatusCode.OK, customers);
而是想创建的实例HttpResponseMessage
并初始化一些属性,然后返回。所以告诉我,我可以将我的客户对象传递HttpResponseMessage class
给客户端吗?
简单的方法是您应该根据请求创建响应:
return Request.CreateResponse(HttpStatusCode.OK, customers);
Run Code Online (Sandbox Code Playgroud)
因为在幕后,这种方法将为您处理内容协商,而您并不在乎。否则,您必须手动处理以下代码:
IContentNegotiator negotiator = this.Configuration.Services.GetContentNegotiator();
ContentNegotiationResult result = negotiator.Negotiate(
typeof(Customer), this.Request, this.Configuration.Formatters);
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new ObjectContent<Customer>(customer,
result.Formatter, result.MediaType)
};
return response;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2547 次 |
最近记录: |