eclipse-ee4j / eclipse-ee4j/jersey

@InjectLink handling incorrectly encodes query param delimiter

Open
#3,364 4 comments 0 reactions 0 assignees View on GitHub
Component: extensions Priority: Major Type: Bug
Dominant language
Java
Stars
730
Forks
382
PR merge metrics
No merged PRs in 30d

Description

The @InjectLink annotation does not support producing a link with query parameters. The value is interpreted as a URI path and encoded.

For example, something like this:

@InjectLink(value = "test?key=$

{instance.value}

")

Results in a link where the '?' intended to precede the query parameter is encoded:

test%3Fkey=Some%20value

Seems like either the '?' should be preserved, or some other way be provided to build a link with query parameters (e.g. an additional attribute on the InjectLink annotation).
#### Affected Versions
[2.22.2]

Contributor guide

Open the contributing guide

Research direction

Start by locating the @InjectLink annotation handling that interprets its value as a URI path, then trace how query delimiters are encoded. Check whether existing tests cover link values with query parameters. Done means defining and verifying a supported way for @InjectLink to produce query parameters without encoding the intended delimiter.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend-api-design
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.