Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-8153

@Path with REGEX in path parameter and checkMethodsForInvalidURITemplates(userType, methods);

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.3.4
    • 3.3.5, 3.4.0
    • JAX-RS
    • None
    • Unknown

    Description

      I have an API jar provided by the server, with the interface with all the JAX-RS annotations.
      One of then has an REGEX. Something like:

      @Path("{ resoureUUID : [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}}}")
      

      I can't create a proxy because the validation fails. Analyzing the code I get to
      org.apache.cxf.microprofile.client.Validator#checkMethodsForInvalidURITemplates(Class, Method[]), more specifically to this part (with comments):

      for (Parameter p : method.getParameters()) {
                          PathParam pathParam = p.getAnnotation(PathParam.class);
                          if (pathParam != null) {
                              // don't know the spec, but setting this to "x" cause the URITemplate to
                             // throw new IllegalArgumentException("Value '" + sval + "' does not match variable " + var.getName() + " with pattern " + var.getPattern());
                              paramMap.put(pathParam.value(), "x");
                          }
                      }
                      try {
                          template.substitute(paramMap, Collections.<String>emptySet(), false);
                      } catch (IllegalArgumentException ex) {
                          throwException("VALIDATION_UNRESOLVED_PATH_PARAMS", userType, method);
                      }
      

      Not sure if this is a bug or by spec, but this prevents to use path params with regex, as the only regex that works must match "x".

      Attachments

        Activity

          People

            coheigea Colm O hEigeartaigh
            luisalves00 Luís Alves
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: