ASP.NET Web API中的Request.CreateResponse(HttpStatusCode.OK)
和 Request.CreateResponse(HttpStatusCode.OK, object)
有什么区别?为什么在提供响应模型时必须指定HTTP状态码?
如果与对象对应的模型没有状态,是不是会将HttpStatusCode设置为true或false?
我来这个问题,因为以下情形的
public HttpResponseMessage Put(int id, ModelObject object)
{
if (ModelState.IsValid && id == object.objectID)
{
db.Entry(object).State = EntityState.Modified;
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
return Request.CreateResponse(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.OK);
}
else
{
return Request.CreateResponse(HttpStatusCode.BadRequest);
}
}
**,如果我检查httpresponsemessage.statuscode它显示httpresponsemessage是即使行执行
任务响应调用的方法无效= httpClient.PutAsJsonAsync(uri,modelObject);
return JsonConvert.DeserializeObjectAsync<HttpResponseMessage>(response.Result.Content.ReadAsStringAsync().Result).Result;
是,这是正确的
也许你需要赶上(DbUpdateConcurrencyException ex) 返回Request.CreateResponse(HttpStatusCode.NotFound,ex.Message); } –
我已经用PUT方法的invoke部分提出了我的问题。你能看看吗?我可能会在返回类型和序列化在那里做错了 – jubi