2016-12-06 4 views
0

Я пытаюсь внедрить метод POST с помощью успокаивающего веб-сервиса с использованием jersey и Postman для клиента отдыха в java. Теперь я не могу вставить данные в базу данных, используя метод post. У меня есть таблица в имени базы данных mysql, у которой есть 3 поля. id (первичный ключ, автоинкремент), имя, фамилия. Я создал классы Java, один из них является классом модели и классом PersonResource для объявления REST api и PersonService для реализации метода REST для выполнения операции crud.Реализация метода POST для вставки данных в базу данных MYSQL с использованием веб-службы RESTFul

PersonResource class is: 

     @Path("/person") 
     public class PersonResource { 
      DbConnection connect=new DbConnection(); 
      Connection conn=null; 

      PersonService service=new PersonService(); 

      @POST 
      @Consumes(MediaType.APPLICATION_JSON)// specifies the request body content 
      @Produces(MediaType.APPLICATION_JSON) 
      public Person addMessage(Person person) throws Exception{ 
      return service.addMessage(person); 
     } 
     } 

PersonService класс:

 public class PersonService { 

      DbConnection connect=new DbConnection(); 
      Connection conn=null; 

      public Person addMessage(Person person) throws Exception { 

      Person p=new Person(); 
      String sql="insert into person (firstname,lastname) values(?,?)"; 
      conn=connect.databaseConnection(); 
      PreparedStatement pst=conn.prepareStatement(sql); 
       pst.setString(1,p.getFirstName()); 
       pst.setString(2,p.getLastName()); 
       pst.executeUpdate(); 
       pst.close(); 
       return person; 
     } 
     } 

Я успешно получить информацию человека от человека ид. Теперь я хочу сделать почтовый запрос от почтальона, чтобы вставить данные в базу данных mysql.

От почтальона я отправил запрос и выберите приложение типа содержимого/json в заголовке и напишу данные в исходном тексте в формате json. Когда я нажму кнопку отправки, получив 415 Unsupported Media Type.

может кто-нибудь помочь мне, как захватить данные почтмана, чтобы вставить в базу данных или любую помощь, как реализовать метод post, чтобы вставить запись в базу данных, используя REST от почтальона? Вот мое окно почтальона. enter image description here Заранее благодарен

+0

Какой адрес вы отправляете? –

+0

@ Scary Wombat Извините, я не понимаю ваш вопрос. это вы спрашиваете? HTTP: // локальный: 8080/worldinfo/WebAPI/чел. Я использую сервер Tomcat –

ответ

1

Поскольку вы получаете неподдерживаемую операцию, ваша служба, вероятно, есть, и вы смогли ее получить. Однако формат данных не работает. Обычно это происходит, когда вы ожидаете чего-то другого, что было отправлено (JSON), который не видит этого случая, так как вы заявляете, что хотите использовать JSON.

Я считаю, что сериализация не работает, и вы получаете String и ожидаете JSON. Для подтверждения того, что вы можете изменить или создать другую услугу, принимающую простой текст и отправку одного и того же тела запроса.

Если это подтверждено - трикотаж должен быть способен сериализовать легко простые объекты. Вам просто нужно добавить для этого правильные зависимости. Является ли джексон, gson и т. Д. Обычно вы можете просто объявить зависимость jersey-json, как показано ниже. Убедитесь, что у вас есть сериализатор.

<dependency> 
    <groupId>com.sun.jersey</groupId> 
    <artifactId>jersey-json</artifactId> 
    <version>1.8</version> 
</dependency> 

check this tutorial учебник: это в значительной степени то, что вы готовы делать.

+0

Да, это работает для меня. Я добавил эту зависимость, и мой код работает нормально .. спасибо –

+0

Отлично. Пожалуйста, добавьте голосование так =]. Удачи. –

 Смежные вопросы

  • Нет связанных вопросов^_^