A strongly typed ID gives an identifier its own domain-specific type instead of treating it as a plain integer or string. In a minimal API, ASP.NET Core can bind route, query, or header values to that type when it exposes a suitable TryParse method. section 7.2
ProductId from a route
An endpoint accepting ProductId can handle /product/p123. TryParse checks that the value starts with p and that the remainder is an integer. Successful parsing creates ProductId(123); invalid input makes binding fail and returns HTTP 400. section 7.2
