2016-12-06 4 views
0

jerseyとPostmanを使って安静なWebサービスを使ってPOSTメソッドを実装しようとしています。今私はポストメソッドを使用してデータベースにデータを挿入することができません。私は3つのフィールドを持つmysqlデータベース名の人のテーブルを持っています。 id(主キー、自動増分)、ファーストネーム、ラストネーム。私はそこにJavaクラスを作成しました。モデルクラスとしてのPersonと、REST APIを宣言するためのPersonResourceクラスと、RESTメソッドを実装するためのPersonServiceです。RESTFul Webサービスを使用してMYSQLデータベースにデータを挿入するPOSTメソッドを実装する

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で人物の情報を取得しています。今私は、mysqlデータベースにデータを挿入するpostmanからの投稿要求をしたいです。

私はポストリクエストを作成し、ヘッダーのcontent-type application/jsonを選択し、生のテキストをjson format.whenで送信ボタンを押して415 Unsupported Media Typeを取得しました。

郵便配達員のデータをデータベースに挿入する方法や、postmanからのRESTを使用してデータベースにレコードを挿入する方法を実装する方法を教えてもらえますか?ここに私の郵便配達人の窓があります。 ありがとうございます。

+0

あなたが投稿しているURLは何ですか? –

+0

@ Scary Wombat申し訳ありませんあなたの質問を理解できません。あなたが求めているのはこれですか? http:// localhost:8080/worldinfo/webapi/person。私はTomcatサーバーを使用しています –

答えて

1

サポートされていない操作の例外が発生するため、サービスはおそらく存在しており、そのサービスをフェッチできました。しかし、データ形式は間には機能しません。これは、JSONを消費することを宣言して以来、大文字と小文字が区別されない(JSON)場合があります。

私は、シリアライゼーションが機能しておらず、文字列を取得してJSONを期待しています。プレーンテキストを受け入れ、同じリクエスト本文を送信する別のサービスを変更または作成できることを確認するため。

これが確認されれば、ジャージーは簡単に簡単なオブジェクトをシリアライズできるはずです。そのためには、適切な依存関係を追加するだけです。 jackson、gsonのいずれであろうと、通常は以下のようにjersey-json依存関係を宣言することができます。シリアライザが存在することを確認してください。

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

チェックthis tutorialチュートリアル:あなたがやりたいことはほとんどありません。

+0

はいこれは私のために働く。私はこの依存関係を追加し、コードは正常に動作しています.thanks –

+0

素晴らしい - 投票を追加してください。]。がんばろう。 –

関連する問題