.net core的ApiResult如何取出返回数据
时间: 2024-03-23 15:37:25 浏览: 145
如何ASP.NET Core Razor中处理Ajax请求
ASP.NET Core 提供了一种通用的方式来封装 Web API 的返回结果,即 ActionResult<T>。其中 T 表示返回值的类型。
在使用 ActionResult<T> 时,可以使用 Ok 方法来返回成功的结果,并传入返回值作为方法的参数。在客户端获取返回值时,需要先判断返回结果是否成功,然后再取出返回值。
以下是一个示例代码:
```csharp
[HttpGet("{id}")]
public ActionResult<Product> GetProduct(int id)
{
var product = _productRepository.GetById(id);
if (product == null)
{
return NotFound();
}
return Ok(product);
}
```
在客户端获取返回值时,需要先判断返回结果的状态码是否为成功状态码(通常为 200 或 201),然后再从返回结果中取出返回值。
以下是一个示例代码:
```csharp
var response = await httpClient.GetAsync("api/products/1");
if (response.IsSuccessStatusCode)
{
var product = await response.Content.ReadAsAsync<Product>();
// 使用返回值
}
```
在上面的代码中,先使用 HttpClient 发送 GET 请求,然后判断返回结果的状态码是否为成功状态码,最后使用 ReadAsAsync 方法从返回结果中取出返回值。
阅读全文