从API返回ObjectResult并在angular

时间:2018-08-23 05:11:13

标签: angular asp.net-web-api .net-core

在我的.Net Core API中,我返回ObjectResult

[HttpGet("[Action]")]
    public ObjectResult GetBList()
    {
        List<PendingListBWise> BList = new List<PendingListBWise>();
        try
        {
            BList = GetBWiseList();
            return StatusCode(202, BList);
        }
        catch (Exception ex)
        {
            return StatusCode(500, new ResultSet() { Message = ex.Message, StatusCode = 500 });
        }
        finally
        {
        }
    }

现在在我的角度组件中,如果状态代码不是202,我想打印消息。 (更新1)

 GetBList() {
this.ListLoader = true;
var url = this.baseurl + 'api/GeneratePDF/GetList/';
this.http.get<PendingListBWise[]>(url)
  .toPromise()
  .then(result:HttpResponse<PendingListBWise[]> => {
    this.BList = result;
    this.ListLoader = false;
  })
  .catch(error => {
    this.ListLoader = false;
    console.error(error);
  });

}

  

.then中给出编译时错误(结果:HttpResponse => {   }预期参数为0-2,但得到3

要在此处获取响应代码,我必须要做

.subscribe(result:httpResponse => {
    console.log(result);

  }, error => {
    console.error(error);

  });

但是从PendingListBWise []中删除结果的强制转换,这意味着结果将不会输入到所需的类中,

如何在此处获取数据和状态代码?

1 个答案:

答案 0 :(得分:0)

首先,从ga.data$landingPagePath <- gsub('^\\/&', '', ga.data$landingPagePath)

中删除泛型

然后,将泛型移到http.get<PendingListBWise[]>上。

您应该以类似以下内容结束

HttpResponse