Start here. This is the direct spoken answer to practice first.
Why this question matters
[ApiController] removes repetitive controller plumbing, but only when its conventions and limits are understood. Automatic request validation is not the same as validating a business operation.
[ApiController] enables web-API conventions for a controller or assembly. It requires attribute routing, infers common binding sources for action parameters, and returns an automatic HTTP 400 response when model binding or validation leaves ModelState invalid. The default validation response uses ValidationProblemDetails, so an action usually does not need an if (!ModelState.IsValid) block. These behaviors cover whether the incoming request can be bound to the declared shape and satisfies configured input rules. They do not decide business outcomes such as whether an email is already registered, an order can still be cancelled, or the caller owns a resource; those checks remain explicit application behavior with appropriate status codes.