users@jersey.java.net

Re: [Jersey] Matrix Parameter Example

From: Pavel Bucek <Pavel.Bucek_at_Sun.COM>
Date: Wed, 11 Aug 2010 18:05:30 +0200

Hello Hien,

You can look into MatrixParamTest (below)

example url: http://localhost:9997/test/test;x=1;y=1%20%7C%7C%202

test:

public class MatrixParamTest extends AbstractGrizzlyServerTester {
     @Path("/test")
     public static class MatrixParamResource {
         @GET
         public String get(@MatrixParam("x") String x, @MatrixParam("y")
String y) {
             return y;
         }
     }

     public MatrixParamTest(String testName) {
         super(testName);
     }

     public void testMatrixParam() {
         startServer(MatrixParamResource.class);

         UriBuilder base = getUri().path("test");

         WebResource r =
Client.create().resource(base.clone().matrixParam("y", "1").build());
         assertEquals("1", r.get(String.class));
         r = Client.create().resource(base.clone().
                 matrixParam("x", "1").matrixParam("y",
"1%20%2B%202").build());
         assertEquals("1 + 2", r.get(String.class));
         r = Client.create().resource(base.clone().
                 matrixParam("x", "1").matrixParam("y",
"1%20%26%202").build());
         assertEquals("1 & 2", r.get(String.class));
         r = Client.create().resource(base.clone().
                 matrixParam("x", "1").matrixParam("y",
"1%20%7C%7C%202").build());
         System.out.println("### " + r.getURI()); // printing example URL
         assertEquals("1 || 2", r.get(String.class));
     }
}


addtional info:

https://jsr311.dev.java.net/nonav/releases/1.1/javax/ws/rs/MatrixParam.html
https://jersey.dev.java.net/nonav/documentation/latest/user-guide.html#d4e232

hope it helps,

Pavel


On 8/11/10 5:45 PM, Hien Luu wrote:
> Is anyone using matrix parameter in a Jersey production application?
> If so, can you please share the use case and some sample URIs?
>
> I am looking for a Jersey sample application that uses matrix
> parameter, does anyone know of one?
>
> Thanks,
>
> Hien