I’m always forgetting which return types are available directly from ASP.Net controllers, so have created a quick listing here.
For general information on HTTP Status codes see
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
ASP.Net Core 2.2
All Status Codes:
ControllerBase IActionResult Return Types
- OK (200)
- BadRequest (400)
- Forbid (403)
- LocalRedirect (302)
- LocalRedirectPermanent (301)
- LocalRedirectPermanentPreserve (308)
- LocalRedirectPermanentPreserveMethod (307)
- NoContent (204)
- NotFound (404)
- RedirectToAction (302)
- RedirectToActionPermanent (301)
- RedirectToActionPermanentPreserve (308)
- RedirectToActionPermanentPreserveMethod (307)
- RedirectToPage (302)
- RedirectToPagePermanent (301)
- RedirectToPagePermanentPreserve (308)
- RedirectToPagePermanentPreserveMethod (307)
- RedirectToPage (302)
- RedirectToPagePermanent (301)
- RedirectToPagePermanentPreserve (308)
- RedirectToPagePermanentPreserveMethod (307)
- StatusCode (set own status code)
- Use 409 – Conflict, for updates that fail due to conflicts such as already exists etc..
- Unauthorized (401)
- UnprocessableEntity (422)
- ValidationProblem (400)
ApiController MVC Compatibility Shim
https://docs.microsoft.com/en-us/dotnet/api/system.web.http.apicontroller?view=aspnetcore-2.2
- OK (200)
- BadRequest (400)
- Conflict (409)
- Created (201)
- CreatedAtRoute (201)
- InternalServerError (500)
- NotFound (404)
- Redirect (302)
- RedirectToRoute (302)
- StatusCode (set own status code)
- Use 409 – Conflict, for updates that fail due to conflicts such as already exists etc..
- Unauthorized (401)
- UnprocessableEntity (422)
- ValidationProblem (400)