2016-12-06 102 views
0

我想用用球衣和郵差在Java REST客戶端RESTful Web服務來實現POST方法來插入MYSQL數據庫中的數據。現在我無法使用post方法將數據插入到數據庫中。我在有3個字段的mysql數據庫名字人有表。 id(主鍵,自動增量),名字,姓氏。我在那裏創建了java類,其中一個是person類,另一個是PersonResource類,用於聲明REST api和PersonService以實現REST方法來進行粗體操作。實現POST方法使用RESTful Web服務

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; 
     } 
     } 

我已經成功地獲取由人的ID信息的人。現在我想讓postman發佈post數據到mysql數據庫中。

從郵遞員我發佈的請求,並選擇內容類型的應用程序/ JSON在標題和寫入數據的原始文本以JSON格式。當我點擊發送按鈕它得到415不支持的媒體類型。

任何人可以幫助我如何捕捉郵遞員數據插入到數據庫或任何幫助如何實現POST方法使用REST從郵遞員插入數據庫記錄?這是我的郵遞員窗口。 enter image description here 在此先感謝

+0

你要發佈的網址是什麼? –

+0

@ Scary Wombat對不起,我不明白你的問題。這是你問的嗎? HTTP://本地主機:8080/worldinfo /的WebAPI /人。我正在使用Tomcat服務器 –

回答

1

由於您得到不受支持的操作異常,您的服務可能存在,並且您已能夠取回它。但是數據格式在兩者之間不起作用。這通常發生在您期望發送的不同內容(JSON)之後,因爲您聲明要使用JSON而沒有看到該情況。

我的看法是,序列化是不工作,你所得到的字符串和期待JSON。確認您可以修改或創建另一個接受純文本併發送相同請求主體的服務。

如果確認 - 球衣應該能夠輕鬆地序列化簡單的物體。你只需要爲它添加正確的依賴關係。無論是傑克遜,gson等。通常,您可以簡單地聲明jersey-json依賴關係,如下所示。確保有一些串行器存在。

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

檢查this tutorial教程:幾乎是你所願意做的。

+0

是的這適用於我。我已經添加了這個依賴和我的代碼工作正常..感謝 –

+0

偉大 - 請添加投票所以=]。祝你好運。 –