URL decoded route ends with an invalid route

Take for example the following route:
api/parententity/abc%2fxyz/childentity/abcdefg

When performing a GET request the route is decoded, and translated as:
api/parententity/abc/xyz/childentity/abcdefg

It appears that ServiceStack is urldecoding the entire route, then matching the route to a DTO. This in my case fails because my DTO route is defined as:
api/parententity/{uid}childentity/{uid2}

I could certainly do something like Base64 encode my route parameters, but I would prefer not having to decode them on the server. Might it be possible for ServiceStack to decode each part of the route AFTER the entire route has been parsed, rather than what seems to be happening (decoding the entire route, then match the DTO)?

The route arguments needs to be separated by path components, e.g:

[Route("/api/parententity/{uid}/childentity/{uid2}")]

Your path arguments also can’t contain an encoded / which is treated as a separate path component.

If your arguments are in conflict with your route definitions you should add them to the ?queryString instead which isn’t apart of the route definition.