JAX-RS @MatrixParam example
Matrix parameters are a set of “name=value” in URI path, for example,
/books/2011;author=mkyong
In above URI, the matrix parameter is “author=mkyong“, separate by a semi colon “;“.
1. @MatrixParam example
See a full example of using @MatrixParam in JAX-RS.
import javax.ws.rs.GET; import javax.ws.rs.MatrixParam; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.core.Response; @Path("/books") public class BookService { @GET @Path("{year}") public Response getBooks(@PathParam("year") String year, @MatrixParam("author") String author, @MatrixParam("country") String country) { return Response .status(200) .entity("getBooks is called, year : " + year + ", author : " + author + ", country : " + country) .build(); } }
See following URI patterns and result.
1. URI Pattern : “/books/2011/”
getBooks is called, year : 2011, author : null, country : null2. URI Pattern : “/books/2011;author=mkyong”
getBooks is called, year : 2011, author : mkyong, country : null3. URI Pattern : “/books/2011;author=mkyong;country=malaysia”
getBooks is called, year : 2011, author : mkyong, country : malaysia4. URI Pattern : “/books/2011;country=malaysia;author=mkyong”
getBooks is called, year : 2011, author : mkyong, country : malaysiaDownload Source Code
Download it – JAX-RS-MatrixParam-Example.zip (6 KB)

What about those matrix parameters in the middle of URL? Such as /aaa;bbb=ccc/ddd/eee.fff