c# - 我应该在返回 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
或状态码吗?对此的最佳做法是什么?这是一个高层次的问题,所以如果你能详细说明这些概念,我将不胜感激。
解决方案
你可以在这里阅读它。:https ://www.learnrazorpages.com/razor-pages/action-results 这非常详细地解释了为什么以及最佳实践是什么。
如果您的处理程序方法根据条件返回不止一种类型的操作结果,则您需要将方法的返回类型扩展为 ActionResult 或 IActionResult。
推荐阅读
- c# - C# 和 EF 实体不会作为 IsTempSaved 添加到实体集
- regex - Ruby:通过大写字母和首字母缩略词将字符串分解为单词
- javascript - [Discord.Js]如何在另一台服务器上获取新的存档(数组)
- python-3.x - 获取 ec2 信息的 boto3 代码 - 但需要知道卷加密状态
- encryption - 如何安全地存储我需要检索的信息?
- scala - 哪个版本的 SBT ?scala2.13.3
- google-cloud-dataflow - 订购消息发布/订阅 GCP
- java - spring @Async :只标记异步执行的候选者,不保证?
- javascript - 结合 SetInterval 调用多个 Ajax 函数
- python - 关于列表中的声明列表和赋值值的python错误