我已经按照此链接构建了CXF Restful webservices
url link.
如果假设我的网址如下所述:
http://localhost:8080/CxfRestService/rest/employeeservices/getemployeedetail?employeeId=1&empProfession=software
这里,“empProfession”参数对我来说是可选的.
所以,尽管如果我省略了该参数并点击下面的url,我应该得到所需的响应. HTTP://本地主机:8080 / CxfRestService /休息/ employeeservices / getemployeedetail EMPLOYEEID = 1
任何人都可以帮我解决如何在CXF Restful Web服务中使用可选参数.
最佳答案 选项1 – 声明参数并检查是否!= null
public Response getEmployeeDetail(@QueryParam("employeeId") String employeeId, @QueryParam("empProfession") String empProfession);
选项2 – 声明en对象以接收所有已知参数
public Response getEmployeeDetail(@QueryParam("") EmployeeFilter filter) ;
public class EmployeeFilter {
public void setEmployeeId(String id) {...}
public void setEmpProfession(String p) {...}
}
选项3 – 不要声明参数并解析URI.如果您可以接受非固定参数,则此选项可能很有用
public Response getEmployeeDetail( @Context UriInfo uriInfo) {
MultivaluedMap<String, String> params = uriInfo.getQueryParameters();
String employeeId = params.getFirst("employeeId");
String empProfession = params.getFirst("empProfession");