Skip to content

PathParam URL encoded in quarkus-resteasy-reactive since quarkus 3.2.x #35960

@rubensa

Description

@rubensa

Describe the bug

I have a Resource like:

@Path("/base/{name}/objects/{key:.*}/func")
public class BaseResource {

  @GET
  @Produces({ "application/json" })
  public Response runFunc(@PathParam("name") String name,@PathParam("key") String key) {
  }
}

When using quarkus-resteasy-reactive if the Resource is called with a URL like:

/base/name1/objects/path/to/my/object/func

the content of the key PathParam is:

path%2Fto%2Fmy%2Fobject

instead of:

path/to/my/object

This is happening in quarkus 3.2.5 and 3.3.2 but is working in quarkus 2.16.10.Final, 3.0.4 and 3.1.3.Final.

On quarkus 3.2.5 if I use quarkus-resteasy (no reactive) it is also working as expected (so looks like the way to parse the PathParams is different).

NOTE: I also tried adding @Encoded annotation but the result is the same.
NOTE: This bug might be related but I can't find the match among RESTeasy code and quarkus-resteasy-reactive code.

Expected behavior

To not encode the PathParam.

Actual behavior

The PathParam was encoded.

How to Reproduce?

Look at the sample code above.

Output of uname -a or ver

Linux nx-links.local.computer 6.2.0-32-generic #32~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 18 10:40:13 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Output of java -version

openjdk version "17.0.8" 2023-07-18 OpenJDK Runtime Environment Temurin-17.0.8+7 (build 17.0.8+7) OpenJDK 64-Bit Server VM Temurin-17.0.8+7 (build 17.0.8+7, mixed mode, sharing)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

3.2.5 and 3.3.2

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions