[ 
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)

Reply via email to