如何从 Class 访问 GET 方法的结果?
How to Access the Result of GET Method From a Class?
我有一个获取方法。此方法调用来自不同项目的端点并获取客户信息。我想在另一个 class 中使用此客户的信息。但是不知道怎么访问。
将我用方法得到的信息写入数据库,然后从数据库中读取是一种选择,但是客户数量可能很高,并且客户信息可能已经更新。这就是为什么我必须在需要的时候打电话。
我的 GetCustomerInformation(customerIdList)
方法 returns 即:return Ok(customerInfoList
);
当我想在另一个 class 中获得 customerInfoList
时,我尝试了类似的方法:
var customerList = _customerInfoController.GetCustomerInformation(customerIdList).Result;
它 returns 一个 ActionResult
,我怎样才能得到 customerInfoList
作为 List
?
假设
var customerList =_customerInfoController.GetCustomerInformation(customerIdList)
是外部 Web API 调用..
customerList
的类型将是 HttpResponseMessage
。所以我们需要将该数据转换为字符串,然后转换为特定对象,然后您就可以访问该列表。
var response = customerList .Content.ReadAsStringAsync().Result;
var data= JsonConvert.DeserializeObject<List<YourSpecificObject>>(response);
您可能需要创建一个 class 并将客户列表的所有指定属性设置为 YourSpecificObject
..
首先添加项目引用,其中 API 位于您要使用它的项目中(如下图所示)
那么你的新class(在其他项目中)可以这样实现。
@using APIProject;
public IList<YourSpecificObject> customerList { get; set; }
public async Task<IActionResult> OnPost(customerIdList)
{
customerList =_customerInfoController.GetCustomerInformation(customerIdList)
}
希望这对您有所帮助。谢谢
我有一个获取方法。此方法调用来自不同项目的端点并获取客户信息。我想在另一个 class 中使用此客户的信息。但是不知道怎么访问。
将我用方法得到的信息写入数据库,然后从数据库中读取是一种选择,但是客户数量可能很高,并且客户信息可能已经更新。这就是为什么我必须在需要的时候打电话。
我的 GetCustomerInformation(customerIdList)
方法 returns 即:return Ok(customerInfoList
);
当我想在另一个 class 中获得 customerInfoList
时,我尝试了类似的方法:
var customerList = _customerInfoController.GetCustomerInformation(customerIdList).Result;
它 returns 一个 ActionResult
,我怎样才能得到 customerInfoList
作为 List
?
假设
var customerList =_customerInfoController.GetCustomerInformation(customerIdList)
是外部 Web API 调用..
customerList
的类型将是 HttpResponseMessage
。所以我们需要将该数据转换为字符串,然后转换为特定对象,然后您就可以访问该列表。
var response = customerList .Content.ReadAsStringAsync().Result;
var data= JsonConvert.DeserializeObject<List<YourSpecificObject>>(response);
您可能需要创建一个 class 并将客户列表的所有指定属性设置为 YourSpecificObject
..
首先添加项目引用,其中 API 位于您要使用它的项目中(如下图所示)
那么你的新class(在其他项目中)可以这样实现。
@using APIProject;
public IList<YourSpecificObject> customerList { get; set; }
public async Task<IActionResult> OnPost(customerIdList)
{
customerList =_customerInfoController.GetCustomerInformation(customerIdList)
}
希望这对您有所帮助。谢谢