在Rest Web方法中传递JSON对象

时间:2016-04-18 13:33:46

标签: java web-services

@GET
@Path("/addemployee")
@Produces(MediaType.APPLICATION_JSON)
public void addEmployee(@QueryParam("id") String id, @QueryParam("name") String name,@QueryParam("address") String address,@QueryParam("phone") String phone ) {
    employeeVo.setId(Integer.parseInt(id));
    employeeVo.setName(name);
    employeeVo.setPhone(phone);
    employeeVo.setAddress(address);
    employeeDao.addNewEmployee(employeeVo);     
}

我有上面的方法,它从html表单中获取参数并将此数据添加到数据库表中。 我想做同样但使用json对象,那么如何将Json对象作为参数传递?我应该将哪些依赖项添加到我的Pom.xml文件中。在此先感谢

2 个答案:

答案 0 :(得分:0)

为什么不直接在服务中接受JSON作为String,并从中生成一个JSON对象 您可以使用下面的依赖项来创建JSON对象。

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20090211</version>
</dependency>

答案 1 :(得分:0)

假设您使用JAX-RS实施,那么您post代表您的JSON EmployeeVo代表POJO代表您的数据后,您可以简单地那样做:

@POST
@Path("/addemployee")
@Consumes(MediaType.APPLICATION_JSON)
public void addEmployee(EmployeeVo employeeVo) {
    employeeDao.addNewEmployee(employeeVo);     
}

以下是要在您的请求正文中发布的相应JSON对象的示例:

 {
   "id" : 1,
   "name" : "foo",
   "phone" : "911",
   "address" : "bar",
 }