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();
}