ASP.NET Core Mvc中空返回值的处理方式

原文地址:https://www.strathweb.com/2018/10/convert-null-valued-results-to-404-in-asp-net-core-mvc/
作者: Filip W.
译者: Lamond Lu

.NET Core MVC在如何返回操作结果方面非常灵活的。
你可以返回一个实现IActionResult接口的对象, 比如我们熟知的ViewResult, FileResult, ContentResult等。

[HttpGet]
public IActionResult SayGood()
{
    return Content("Good!");
}

当然你还可以直接返回一个类的实例。

[HttpGet]
public string HelloWorld()
{
    return "Hello World";
}

在.NET Core 2.1中, 你还可以返回一个ActionResult的泛型对象。

[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
    return new string[] { "value1", "value2" };
}

今天的博客中,我们将一起看一下.NET Core Mvc是如何返回一个空值对象的,以及如何改变.NET Core Mvc针对空值对象结果的默认行为。

.NET Core Mvc针对空值对象的默认处理行为

那么当我们在Action中返回null时, 结果是什么样的呢?
下面我们新建一个ASP.NET Core WebApi项目,并添加一个BookController, 其代码如下:

[Route("api/[controller]")]
[ApiController]
public class BookController : ControllerBase
{
    private readonly List<Book> _books = new List<Book> {
        new Book(1, "CLR via C#"),
        new Book(2, ".NET Core Programming")
    };

    [HttpGet("{id}")]
    public IActionResult GetById(int id)
    {
        var item = _books.FirstOrDefault(p => p.BookId == id);
        return Ok(item);
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值