Prevent URL value from being cut off while passing to conrtroller

77 Views Asked by At

I think the issue is with the UrlMapping file or some configuration file that I don't know about but I didn't see it addressed in this site so I'm posting for help.

I have a UrlMappings.groovy with:

"/lookupMap/$fromVal/$toVal/xml/$id**" (controller:"lookup, action:"returnMapXml", formats=['xml'], method:"GET")

and the controller is:

def returnMapXml = {
  if (params.id) {
    print  params.id + "\n";
    try {
      def result = getLookup.result(params.fromVal, params.toVal, params.id)
      render ...yadda yadda
    }
  }
}

This is a REST service. My problem happens when someone enters an ID value with either a pound sign (#) or question mark (?), the value is truncated at that character. For example the output of ID (per the print line in the code) for this:

localhost:8080/productdefinition/lookupMap/Denver/Toronto/carton OR container OR box? OR bag

would be

carton OR container OR box

It removes the ? and everything after it. This happens somewhere either before it gets to the UrlMappings file or when that directs the call to the controller. Either way, how can I stop this and where, which file do I fix this in? I don't have access to the server so I can't alter any URL encodings; this has to be a code update. Any help/direction would be appreciated.

0

There are 0 best solutions below