首页 > 解决方案 > 我应该在返回 json 对象的获取请求中使用 IActionResult

问题描述

我有一个 ASP.NET API,如下所示

[HttpGet]
[Route("GetModel")]
public async Model GetModel(string modelId)
{
    return _service.GetModel(modelId);
}

和一个客户如下

public async Model GetModel(string modelId)
{
    var uri = $"api/Model/GetModel?modelId={modelId}";
    return await _httpClient.GetJsonAsync<Model>(uri);
}

我没有使用IActionResult或状态码。我也没有在 API 中进行任何异常处理。(如果模型返回 null,我只是对客户端采取适当的措施。)

我需要使用IActionResult或状态码吗?对此的最佳做法是什么?这是一个高层次的问题,所以如果你能详细说明这些概念,我将不胜感激。

标签: c#asp.net-core-webapi

解决方案


你可以在这里阅读它。:https ://www.learnrazorpages.com/razor-pages/action-results 这非常详细地解释了为什么以及最佳实践是什么。

如果您的处理程序方法根据条件返回不止一种类型的操作结果,则您需要将方法的返回类型扩展为 ActionResult 或 IActionResult。


推荐阅读