Seems like there is an inconsistency between the :ring/request spec and the servlet implementation, in particular the map created by build-request-map. This is based on my assumption that the request handed to my handler from ring jetty server, for example, should satisfy the :ring/request spec.
The spec says the :query-string key is optional but the value must be a string? and the implementation returns the :query-string key always but sometimes a null (nil) value via the .getQueryString method.