C# Interview Question #168
What is model binding in ASP.NET Core?
ASP.NET Core, DI & Middleware Senior Advanced
Quick Interview Answer
Model binding converts incoming HTTP request data into C# action parameters or model objects.
Detailed Explanation
Model binding converts incoming HTTP request data into C# action parameters or model objects.
Sources can include route values, query strings, form fields, headers, and request bodies. Attributes such as FromRoute, FromQuery, FromBody, and FromHeader can explicitly identify a binding source.
Public API models should use DTOs with appropriate validation rather than binding database entities directly. This reduces over-posting risks and keeps external contracts separate from persistence models.
Code Example
[HttpPost]
public async Task<IActionResult> Create(
[FromBody] CreateProductRequest request)
{
// request has been model-bound from JSON.
return Ok();
}