首页 > 解决方案 > 使用 Angular Controller 从 Web Api 获取响应

问题描述

我只是想弄清楚从 WebApi 控制器中获得特定价值的最简单、最快捷的方法是什么。

我的网络 API 控制器

public  IEnumerable<string> Get()
        {
 return new string[] { fullname,lastname, email};
}

当我尝试使用以下方法在角度控制器中使用此 Web API 时

 this._httpService.get('/api/user').subscribe(values => {
            this.details= values.json() as string[];
        });

它返回所有值(全名、姓氏、电子邮件)。但我想在这里得到的是姓氏。

类似 this.details.lastname

标签: c#angularasp.net-web-apiasp.net-core-webapi

解决方案


为清楚起见,如果您使用的是 Angular(不是 AngularJS),则代码称为 acomponent而不是 a controller

您使用的是哪个版本的 Angular?如果它> 4.3,那么你就不需要.json()了。映射会自动为您处理。

要回答你的问题......“最快”的方式是这样的(假设 Angular v6):

this.http.get<>('/api/user').subscribe(
  details => this.lastName =  details.lastName
);

假设这details是一个项目,而不是一个数组。

但这绝对不是“最好”的方式。

最好的方法是为您的详细信息定义一个接口,然后构建一个适当的客户端服务来封装您的数据访问。


推荐阅读