我正在尝试使用ASP.NET Core 2.0构建100%标准REST服务。当我使用Visual Studio 2017工具构建控制器时,它使用编写良好的GET,PUT,POST和DELETE方法构建了一个非常棒的异步控制器。
我想知道为什么虽然Put会返回NoContent而不是OK。似乎添加。
// PUT: api/Sessions/5
[HttpPut("{id}")]
public async Task<IActionResult> PutSessionRec([FromRoute] int id, [FromBody] SessionRec sessionRec)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != sessionRec.Id)
{
return BadRequest();
}
_context.Entry(sessionRec).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!SessionRecExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return NoContent();
}
DELETE GET和POST全部返回200&#39;(OK)
答案 0 :(得分:1)
PUT
的常见回应是&#39; 204&#39; (无内容),表示您的请求已成功处理,您无需重定向到其他页面,
2xx
响应是成功响应,您应该被视为相同。