httpresponsemessage 从webapi post post Messages返回此处包含记录ID,该记录ID插入了如何在
后面的代码中提取该IDpublic HttpResponseMessage POST([FromBody]Map newmap)
{
try
{
using (SHATDbEntities entities = new SHATDbEntities())
{
entities.Maps.Add(newmap);
entities.SaveChanges();
var message = Request.CreateResponse(HttpStatusCode.Created, newmap);
message.Headers.Location = new Uri(Request.RequestUri + newmap.Id.ToString());
return message;
}
}
catch (Exception ex)
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
}
}
**这里响应**收到消息
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:2351/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.PostAsJsonAsync(RequestURI, newmap).Result;
此时,我想从响应消息中提取该ID 任何帮助将不胜感激,谢谢
这应该做必要的。
var resultTask = client.PostAsJsonAsync<MyObject>("http://localhost/api/service",new MyObject()).ContinueWith<HttpResponseMessage>(t => {
var response = t.Result;
var objectTask = response.Content.ReadAsAsync<MyObject>().ContinueWith<Url>(u => {
var myobject = u.Result;
//do stuff
});
});