首页 > 解决方案 > 读取角度 6 中来自 asp.net 核心的响应的状态代码

问题描述

我在 Asp.net core 2 中有一个 API,我需要从响应中捕获状态代码,但是在我的角度响应中只有我的 API 结果。

我在 API 上的方法

[HttpPost]
    [Route("cadastrar-categoria")]
    public async Task<IActionResult> CadastrarCategoriaAsync([FromBody]Categoria item)
    {
        try
        {
            var sucesso = await _service.CadastroCategoria(item);
            if (sucesso == 1)
            {
                return Ok("Sucesso");
            }
            else
            {
                return BadRequest("Erro");
            }
        }
        catch (Exception ex)
        {
            return BadRequest(ex.Message);
        }
    }

和我的角度服务

CadastrarCategoria(nome: string) {
 let data = new CadastroCategoriaDto();
 data.Nome = nome;

 return this.req
   .post(environment.urls.cadastrarProduto, data)
   .subscribe((res: Response) => {
     console.log(res);
   });

}

我在浏览器中的反应只有这个。 在此处输入图像描述

我如何从这个响应中捕获状态码?示例返回 Ok() 我需要接收状态码 200。

标签: c#angulartypescripthttpasp.net-core

解决方案


如果您想在订阅方法中获得完整响应,请使用{observe: 'response'}.

例子:

return this.req
   .post(environment.urls.cadastrarProduto, data,{observe: 'response'})
   .subscribe((res: HttpResponse) => {
     console.log(res.status);
   });

推荐阅读