Path-style expansion does not expand collection values inside a map
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 74/100
Research direction
Start at Expressions.SimpleExpression#expandMap and compare its handling with expandIterable, reproducing the UriTemplate.create("/server{;parameters}", UTF_8).expand(...) examples from the issue. Done means map entries containing collections or arrays expand into repeated path parameters without stringified collection values or array identity hashes, while scalar entries retain their current behavior.
Written by the indexing model from the issue text.
Description
Expressions.SimpleExpression#expandMap stringifies each entry value, so {;params} with a Map does not expand a collection or array entry.
On master (68b96d1), UriTemplate.create("/server{;parameters}", UTF_8).expand(...):
parameters |
expanded |
|---|---|
{colours=[red, blue], size=L} |
/server;colours=%5Bred%2C%20blue%5D;size=L |
{colours=String[]{"red","blue"}} |
/server;colours=%5BLjava.lang.String%3B%403567135c |
As a top-level variable the same values go through expandIterable: {;colours} with List.of("red","blue") gives /server;colours=red;colours=blue. A map entry should expand the same way, giving /server;colours=red;colours=blue;size=L.
The array case also puts an identity hash in the URL.
Found from spring-cloud/spring-cloud-openfeign#1421.
- Dominant language
- Java
- Stars
- 9.8k
- Forks
- 2k
- Avg merge
- 12h 8m
- Merged PRs (30d)
- 40
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenFeign/feign
-
JDK 21 on x86_64 causes truncated responses with Feign + HttpClient (content compression related)Open
Difficulty 4/5 3-5 days Newbie friendliness 42/100
Maintainers usually reply within 1 day
-
question
Difficulty 4/5 3-5 days Newbie friendliness 35/100
OpenFeign/feign#3332 · 1 comment ·
Maintainers usually reply within 1 day
-
question
Difficulty 3/5 1-2 days Newbie friendliness 52/100
OpenFeign/feign#3095 · 1 comment ·
Maintainers usually reply within 1 day
-
bug question
Difficulty 5/5 Over a week Newbie friendliness 25/100
OpenFeign/feign#3074 · 2 comments ·
Maintainers usually reply within 1 day
-
Http2Client with native HttpClient does not enforce response timeout correctlyPossibly taken @goutamadwant claimed this 104 days ago. Openbug
Difficulty 3/5 1-2 days Newbie friendliness 52/100
OpenFeign/feign#3068 · 2 comments ·
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
wildfly/wildfly-launcher#99 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
traccar/traccar#6076 · 2 comments ·
Maintainers usually reply within 1 day
-
Flight SQL JDBC parses boolean properties case-sensitively, silently disabling TLS for useEncryption=TRUEPossibly taken @Arawoof06 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
apache/arrow-java#1357 ·
Maintainers usually reply within 1 day
-
[Bug] Demo alert imports accept empty and oversized rule documentsPossibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
apache/rocketmq-dashboard#6610 ·
Maintainers usually reply within 3 days