Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么搭建的ASP.NET核心控制器返回NoContent()而不是OKSuccess()?_C#_Asp.net Mvc_Asp.net Core - Fatal编程技术网

C# 为什么搭建的ASP.NET核心控制器返回NoContent()而不是OKSuccess()?

C# 为什么搭建的ASP.NET核心控制器返回NoContent()而不是OKSuccess()?,c#,asp.net-mvc,asp.net-core,C#,Asp.net Mvc,Asp.net Core,我正在尝试用ASP.NETCore2.0构建一个100%的标准REST服务。当我使用Visual Studio 2017工具构建控制器时,它使用编写良好的GET、PUT、POST和DELETE方法构建了一个很棒的异步控制器 我想知道为什么Put返回NoContent和not OK。似乎在补充 // PUT: api/Sessions/5 [HttpPut("{id}")] public async Task<IActionResult> PutSessionRe

我正在尝试用ASP.NETCore2.0构建一个100%的标准REST服务。当我使用Visual Studio 2017工具构建控制器时,它使用编写良好的GET、PUT、POST和DELETE方法构建了一个很棒的异步控制器

我想知道为什么Put返回NoContent和not 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();
    }
//PUT:api/Sessions/5
[HttpPut(“{id}”)]
公共异步任务PutSessionRec([FromRoute]int id,[FromBody]SessionRec SessionRec)
{
如果(!ModelState.IsValid)
{
返回请求(ModelState);
}
if(id!=sessionRec.id)
{
返回请求();
}
_context.Entry(sessionRec.State=EntityState.Modified;
尝试
{
wait_context.SaveChangesAsync();
}
catch(DbUpdateConcurrencyException)
{
如果(!SessionRecExists(id))
{
返回NotFound();
}
其他的
{
投掷;
}
}
返回NoContent();
}

删除GET和POST所有返回200(确定)

PUT的常见响应为“204”(无内容),它表示您的请求已成功处理,您无需重定向到其他页面


顺便说一句,
2xx
响应是成功响应,您应该被视为成功响应。

:“HTTP 204无内容成功状态响应代码表示请求已成功,但客户端不需要离开当前页面。”谢谢@RonBeyer Axios(我的JavaScript spa rest库)将204视为一个错误,这是我正在研究的原因(似乎是错误的)。您使用哪个javascript库?