ASP.NET Core Web API Interview Question #6

What does the [ApiController] attribute do?

Web API & REST Fundamentals, Controllers, HTTP Methods & Status Codes Junior Beginner

Quick Interview Answer

The ApiController attribute enables API-specific conventions and behaviors. Important features include automatic HTTP 400 responses for invalid model state, binding-source inference, attribute-routing requirements, and improved API error behavior.

Detailed Explanation

The ApiController attribute enables API-specific conventions and behaviors. Important features include automatic HTTP 400 responses for invalid model state, binding-source inference, attribute-routing requirements, and improved API error behavior.

It reduces repetitive controller code, but developers still need to design validation, authorization, business rules, and response contracts deliberately.

Code Example

[ApiController]
[Route("api/[controller]")]
public class CustomersController : ControllerBase
{
    [HttpPost]
    public IActionResult Create(CreateCustomerRequest request)
    {
        return Ok(request);
    }
}