[ https://issues.apache.org/jira/browse/CXF-8153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colm O hEigeartaigh closed CXF-8153. ------------------------------------ > @Path with REGEX in path parameter and > checkMethodsForInvalidURITemplates(userType, methods); > ---------------------------------------------------------------------------------------------- > > Key: CXF-8153 > URL: https://issues.apache.org/jira/browse/CXF-8153 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 3.3.4 > Reporter: Luís Alves > Assignee: Colm O hEigeartaigh > Priority: Minor > Fix For: 3.4.0, 3.3.5 > > > 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: > {code:java} > @Path("{ resoureUUID : > [0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}}}") > {code} > 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): > {code:java} > 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); > } > {code} > 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". -- This message was sent by Atlassian Jira (v8.3.4#803005)