如何在我们的休息java控制器中获取json对象,例如我们有一个带有多个参数的搜索方法

时间:2016-04-04 16:20:42

标签: web-services spring-mvc jersey-2.0 spring-restcontroller spring-rest

示例: - searchCriteria(jsonObject)

1

 jsonObject :   { employeeId :"xx" , 
              employeeName : "yy",  
             employeeDOB : "zz", 
              } 

2

jsonObject :    { 
     SSN:"xx" 
}   

3

jsonObject : { agentId:"xx",
                  agentType: "yy"   
}   

基本上,我们希望构建一个自定义搜索组件(可以重用于其他搜索方法,只有参数会更改),我们将传递jsonObject,这可能会根据point1,point2,point3进行更改。 / p>

1 个答案:

答案 0 :(得分:0)

Jersey支持将值解析为Jettison JSONObject / JSONArray。

示例:

jsonObject :   { employeeId :"xx" , 
              employeeName : "yy",  
             employeeDOB : "zz", 
              } 

<强>代码:

@POST
@Path("/rest")
@Consumes(MediaType.APPLICATION_JSON) 
public Object searchData(JSONObject json) {
  String empId = json.optString("employeeId");
  String empName = json.optString("employeeName");
  String empDOB = json.optString("employeeDOB");
  return new Object();
}

同样,您可以实现通用搜索以接受任何对象并提取内容。