2016-04-18 2 views
1
@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 Object, Итак, как передать Json Object в качестве параметра? и какую зависимость я должен добавить в свой файл Pom.xml. Спасибо заранееPass JSON Object in Rest web method

ответ

0

Предполагая, что вы используете JAX-RS реализацию, что вы post ваши данные, следующие за JSON представления вашего POJO EmployeeVo в теле вашего запроса, вы можете просто сделать:

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

Вот пример соответствующего объекта JSON для отправки в тело вашего запроса:

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

Спасибо за ответ, я смущен тем, как отправить объект json в URL-адрес? –

+0

Предполагая, что у вас есть завиток, посмотрите на этот вопрос http://stackoverflow.com/questions/7172784/how-to-post-json-data-with-curl-from-terminal-commandline-to-test-spring -rest –

+0

Что такое импорт в этом сообщении _curl -H "Content-Type: application/json" -X POST -d '{"username": "xyz", "password": "xyz"}' http: // localhost: 3000/api/login_ –

0

Почему бы вам просто не принять JSON как String в сервисе и не сделать из него объект JSON.
Вы можете использовать зависимость ниже для создания объекта JSON.

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

Благодарим за сообщение, на самом деле Мне нужно сделать это как Json Oject –