Query values are split at literal commas or lost when arrays are used
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 68/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- java
- Lĩnh vực
- api, backend, networking
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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. @QueryMapwithMap.of("ids", new int[]{1, 2})sends an array identity such asids=%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.
- Ngôn ngữ chính
- Java
- Star
- 9.8k
- Fork
- 2k
- Merge trung bình
- 1 giờ 15 phút
- Pull request đã merge (30 ngày)
- 39
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của OpenFeign/feign
-
DefaultAsyncClient never completes the returned future when Client throws ErrorCó thể đã có người làm @hutiefang76 đã nhận 13 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Response.charset ignores charset after another Content-Type parameterCó thể đã có người làm @hutiefang76 đã nhận 13 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày
-
UriUtils ignores allowReservedCharacters=false when the input has no percent tripletCó thể đã có người làm @hutiefang76 đã nhận 13 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Java11 Http2Client loses response header value order and duplicate occurrencesCó thể đã có người làm @hutiefang76 đã nhận 12 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Java11 Http2Client rejects documented zero connect and read timeoutsCó thể đã có người làm @hutiefang76 đã nhận 12 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của OpenFeign/feign
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
intellij-elixir/intellij-elixir#4585 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
MetricsHub/metricshub-community#1474 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Booking links: POST /api/booking-links with a null element in "availabilityRules" throws NullPointerException and answers 500 instead of 400Có thể đã có người làm @chibenwa đã nhận hôm nay. Đang mởai-driven-fuzzing bug claude Minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
linagora/twake-calendar-side-service#1322 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
PathnameExpander incorrectly interprets regex metacharacters in wildcard patternsCó thể đã có người làm @jiteshkhatri11 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
javapathfinder/jpf-core#662 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
3.x: `NullPointerException` ("Null 'propertyType' passed") deserializing raw `Map.Entry` with a `Shape.POJO` config overrideCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
FasterXML/jackson-databind#6366 ·
Maintainer thường phản hồi trong vòng 1 ngày