In this tutorial we will discuss about Matrix parameters, these are a set of "name=value" in URI path,
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