2017-07-20 34 views
0

私はこの問題を数時間Googleに語っていますが、解決策はまだ見つかりません。 SEVERE::のメッセージ本文のリーダーここAngularJsからJava JAX-RSサービスへのJsonオブジェクトの投稿

は私のエラーメッセージがいた私のJavaコードは

@POST 
    public String doLogin(User user) { 
    System.out.println(" = " + user.getUsername()); 
    return ""; 
    } 

@XmlRootElement 
    @XmlAccessorType(XmlAccessType.FIELD) 
    public class User { 
    String username; 

    String password; 

    public String getUsername() { 
     return username; 
    } 

    public void setUsername(String username) { 
     this.username = username; 
    } 

    public String getPassword() { 
     return password; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 
    } 

であり、ここで私のAngularJsコードです

angular.module('notesApp', []).controller('MainCtrl', ['$http', function($http) { 
     var self = this; 
     self.submit = function() { 
     $http({ 
      method: 'POST', 
      url: 'http://127.0.0.1:8080/Test/app/login', 
      headers : {'Content-Type': 'application/json'}, 
      data: self.user //forms user object 
      }) 
      .then(function(response) { 
      console.log(response.data); 
      return response.data; 
      }, function(response) { 

      }); 
     } 
    }]); 

Javaクラスentity.User、Javaタイプクラスentity.User、およびMIMEメディアタイプapplication on/json; Javaコードで 'user'オブジェクトにアクセスできなかったため、charset = UTF-8が見つかりませんでした。

私は間違っている部分を見つけてください。どうもありがとうございます。

答えて

1

POSTの本文はQuery Paramsではありません。

あなたがこれを使用することができます

@POST 
    public String doLogin(User user) { 
    System.out.println(" = " + user.getUsername()); 
    return ""; 
    } 

@QueryParamはあなたが[email protected]

+0

ご協力いただきありがとうございます。私は前にそれを試して、私はこのエラーメッセージを得た。 SEVERE:Javaクラスentity.User、Javaタイプクラスentity.User、MIMEメディアタイプapplication/jsonのメッセージボディリーダー。 charset = UTF-8が見つかりませんでした。 – apss1943

0

クエリパラメータを削除するシリアル化された文字列が表示されます。それをUserに渡します。

0
@POST 
public String doLogin(User user) { 
    System.out.println(" = " + user.getUsername()); 
    return ""; 
} 

あなたPOSTdataフィールドを設定しています。これにより、HTTP ボディがHTTPクエリパラメータではなく設定されます。

0

として渡しますqueryparamsに使用されているあなたはあなたに何を期待送信していることを確認するために、ブラウザのデバッガ・ネットワーキング・パネルをチェックサーバ。それを開き、あなたのユーザーを「送信」し、送信されたものを見ます。このオブジェクトは、JavaのUserが期待するものとまったく同じように見えますか?

関連する問題