Set request parameter templates with [] inside do not pass Expressions matching check
See original GitHub issueWhen adding a Set
query param template using the feign.RequestTemplate#query(java.lang.String, java.lang.Iterable<java.lang.String>)
method, we pass a query with a name containing []
and a corresponding template value, for example name = "ids[]"
and then a List
containing {ids[]}
value. This causes an issue as a template containing []
does not pass the entry -> entry.getKey().matcher(expression).matches()
filter in feign.template.Expressions#create
method against the SimpleExpression
pattern, created as follows: Pattern.compile("(\\w[-\\w.]*[ ]*)(:(.+))?"), SimpleExpression.class;
As an http call to [requestUrl]?ids[]=1,2,3
would work, it should probably work via Feign as well.
This issue causes the following issue in Spring Cloud OpenFeign: https://github.com/spring-cloud/spring-cloud-openfeign/issues/143 that has been reported to us by the users.
Issue Analytics
- State:
- Created 4 years ago
- Comments:11 (5 by maintainers)
@OlgaMaciaszek
I’ll check with the others, but I think we can release a patched 10.2.1 sometime in the next week.
@kdavisk6 Yes, that’ll probably be the best solution.