Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Query values are split at literal commas or lost when arrays are used

Aperta
#3,623 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@hutiefang76 ci sta già lavorando.

Dal 18/10/2026.

  • #3624 di @hutiefang76 — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java

Direzione di ricerca

Trace query construction and parameter expansion from Feign's Client implementations, focusing on literal @RequestLine values, @QueryMap, and array-valued @Param expressions. Reproduce the reported cases with a recording Client, then add or update focused regression tests covering scalar, collection, primitive-array, empty/null, and reserved-character behavior while preserving custom Param.Expander behavior. The work is done when literal commas remain within one query value and arrays expand correctly across all listed paths.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Three query-value paths change or lose the caller's values on current master (e32547ac):

  • A literal @RequestLine("GET /x?ids=1,2") becomes ?ids=1&ids=2, changing one value into two parameters. A percent-encoded comma would be fine; repeated parameters are the problem. Collection expressions should still expand as before.
  • @QueryMap with Map.of("ids", new int[]{1, 2}) sends an array identity such as ids=%5BI%40.... The same happens for primitive-array fields of query-map DTOs. String[] values in a query map already work.
  • @RequestLine("GET /x?ids={ids}") with @Param("ids") int[] also sends the array identity; @Param String[] is affected too. This is a separate expression-expansion path from the query-map case.

I reproduced these with a recording Client and ran the regression tests using the dev profile (Java 8 main compilation and a JDK 27 test JVM). I'll prepare a focused fix with collection, scalar, empty/null-array and reserved-character controls. Existing custom Param.Expander behavior will be preserved.

The inherited-field collision candidate is outside this scope; it needs a separate decision about name precedence. No changes to #3613 or #3612 are intended.

Lingua principale
Java
Stelle
9.8k
Fork
2k
Merge medio
1h 15m
PR unite (30g)
39

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenFeign/feign

Tutte le issue di OpenFeign/feign

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.