for example-
/salary/21111;empname=dinesh
In above URI, the matrix parameter is “empname=dinesh”, 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("/employee") public class EmployeeController { @GET @Path("{empid}") public Response getEmpSalary(@PathParam("empid") String empid, @MatrixParam("empname") String empname, @MatrixParam("jobtype") String jobtype) { return Response .status(200) .entity("getEmpSalary is called, empid : " + empid + ", empname : " + empname + ", jobtype : " + jobtype) .build(); } }
See following URI patterns and result.
1. URI Pattern : http://localhost:8181/sdnext/doj/employee/21212/
getEmpSalary is called, empid : 21212, empname : null, jobtype : null
2. URI Pattern : “http://localhost:8181/sdnext/doj/employee/21212;empname=dinesh”
getEmpSalary is called, empid : 21212, empname : dinesh, jobtype : null
3. URI Pattern : “http://localhost:8181/sdnext/doj/employee/21212;empname=dinesh;jobtype=Software”
getEmpSalary is called, empid : 21212, empname : dinesh, jobtype : Software
4. URI Pattern : “http://localhost:8181/sdnext/doj/employee/21212;jobtype=Software;empname=dinesh”
getEmpSalary is called, empid : 21212, empname : dinesh, jobtype : Software
Download SourceCode
JAX-RS @MatrixParam example.zip
References
1. JAVA REST Web Services
2. Wikipedia for REST Web Service