If you need bind query parameter to model that has different name of properties you can do that like this:
public class MyModel { [FromQuery(name = "page_size")] public int PageSize { get; set; } [FromQuery(name = "page")] public int PageNumber { get; set; } }
You don't have to create model binder for this purpose.
You can use FromQuery attribute from Microsoft.AspNetCore.Mvc.Core library.