Using data annotations for Web API model validation

Data annotations can be used in ASP.NET Core to validate a model through a Web API endpoint.

You can learn more about data annotations by watching our video:

We have this CustomerModel class which contains properties for the first name and surname.

public class CustomerModel
	public string? FirstName { get; init; }

	public string? Surname { get; init; }

In-addition, we have this CustomerController class which has a Web API endpoint that tries to create a customer record.

public class CustomerController : ControllerBase
	public IActionResult Create(CustomerModel customerModel)
		return Ok(customerModel);

When we run the Create Web API endpoint, we want to ensure that both the FirstName and Surname properties in the CustomerModel have a value set. How can we do that with the Required attribute?