ASP.NET Core MVC Interview Question #45

How do NotFound, BadRequest, and StatusCode work in MVC actions?

Controllers, Actions, Model Binding & Action Results Junior Beginner

Quick Interview Answer

Controller helper methods can create HTTP status-code results. NotFound returns 404, BadRequest returns 400, Unauthorized returns 401, and StatusCode can produce a specified status code.

Detailed Explanation

Controller helper methods can create HTTP status-code results. NotFound returns 404, BadRequest returns 400, Unauthorized returns 401, and StatusCode can produce a specified status code.

Use status codes that accurately represent the outcome. For a normal server-rendered MVC website, the application may also configure status-code pages or custom error pages to provide a user-friendly response.

Code Example

public IActionResult Details(int id)
{
    if (id <= 0)
        return BadRequest();

    var item = _service.Find(id);
    if (item == null)
        return NotFound();

    return View(item);
}