Занимаюсь созданием rest сервиса (использую: Java, Maven, TomCat, MySql, Hibernate). Пытаюсь реализовать добавление в бд новых данных через POST запрос. Но никак не получается сделать, данные в базу не записываются. Что мне нужно откорректировать чтобы запрос прошел?
Если я получаю от сервера данные через JSON то получаю вот в таком виде:
[{"person":{"id":11,"fullName":"Maria","age":19,"city":"Tver","gender":"female"}},{"person":{"id":12,"fullName":"Nadya","age":29,"city":"Omsk","gender":"female"}},{"person":{"id":13,"fullName":"Sergey","age":18,"city":"Novosibirsk","gender":"male"}}]
При отправке запроса в Body пишу:
{"person":{"fullName":"Maria111","age":19,"city":"Tver","gender":"female"}}
service.java:
@POST
@Path("/add")
@Produces(MediaType.APPLICATION_JSON)
public String saveNewPerson(JSONObject person) throws JSONException {
person.toString();
System.out.println(person + " output in service.java");
if (!personDao.savePerson(null)) {
return "Person create success id=";
} else {
return "error, check information for new person";
}
}
PersonDao.java:
public boolean savePerson(JSONObject person) {
System.out.println(person+" output in personDAO.java");
Session session = null;
boolean hasErrors = false;
try {
session = sessionFactory.openSession();
session.beginTransaction();
session.saveOrUpdate(person);
session.getTransaction().commit();
} catch (Exception ex) {
if (session != null) {
session.getTransaction().rollback();
Log.write("Ошибка в методе savePerson ");
}
hasErrors = true;
} finally {
if (session != null) {
session.close();
}
}
return hasErrors;
}