I am trying to send some parameters with GET request to the controller in query string. I am getting all parameters that are inside query string to one Dictionary<string, string> using [FromQuery]. It is working well until one of the parameter name contains dot (.) sign. I checked Request.Query object and it looks that it's parsed well but my Dictionary object get this one, exact item wrong. So it looks like bug in [FromQuery] binder or i am doing something wrong. Code with debbuged values of Request.Query and mine parameters below:
This is how the query string that is sent looks like:
?query=&InspectionType=Safety&ItemType=InspectionPoint&RecordParentGUID=9275bee2-0a2d-461c-8835-51880e76f035&parent.ResultClassCode=parent.ResultClassCode
UPDATE:
Got answer from Eilon Lipton working in .net developers team, in short - this is by design. Dot sign . and [, ] are special ones used for denoting properties and indexers. Full answer available here: https://github.com/aspnet/Mvc/issues/6746