2016-03-28 6 views
0

をオブジェクトのインスタンスをデシリアライズすることはできませんは、私は、サーバーへの私のユーザーに送信し、応答としてロング番号を取得したいが、私は、クライアント上で400エラーを持って、サーバ側でこのexeptionを得たSTA​​RT_ARRAYのうち、トークン

SUSER(またはユーザー)::私のクライアントSUSERモデルは、サーバーのUserモデルと全く同じである

class User{ 
public long id; 

public String username; 

public String password; 

public String firstName; 

public String lastName; 

public String gender; 

public String nationalNumber; 

public String phoneNumber; 

public String address; 

public String email; 

public boolean isLoggedIn; 

public String imageUrl; 

public int areaNumber; 

} 

クライアントは次のようにサーバーに接続:TCLASSがある** 応答のクラス型 **のparams [0]私は、サーバー に送信するユーザー** URL +の条件は、ユーザ

protected ResponseHandler doInBackground(Object... params) { 
    try { 
     serverResponse=new ServerResponse(); 
     result = restTemplate.postForObject(URL + conditions, params,tClass); 
     serverResponse.singleResult=result; 
     serverResponse.isReady=true; 
     responseHandler.onServerRespond(serverResponse); 
    }catch (Exception e){ 
     serverResponse.isReady=false; 
     serverResponse.message=e.getMessage(); 
     e.printStackTrace(); 
    } 

    return responseHandler; 
} 

と、サーバー側のコードを取得扱う方法のURLですが次のとおりです。

@RequestMapping(value = "/register",method = RequestMethod.POST) 
@ResponseBody 
public Long registerNewUser(@RequestBody User user){ 
    if(user!=null){ 
     try { 
      System.out.println("REGISTER "+ user==null); 
      SessionFactory sessionFactory=HibenateConnection.connectingHibernate(); 
      Session session=sessionFactory.openSession(); 
      session.beginTransaction(); 
      session.save(user); 
      session.getTransaction().commit(); 
      User user1=getUser(user.username); 
      session.close(); 
      return user1.id; 
     }catch (Exception e){ 
      e.printStackTrace(); 
     } 
    } 
    return -1l; 
} 

と私の出力JSONは次のようになります。

[{ 
"address": "", 
"areaNumber": 0, 
"email": "email", 
"firstName": "name", 
"gender": "male", 
"id": -1, 
"imageUrl": "img", 
"isLoggedIn": false, 
"lastName": "lastn", 
"nationalNumber": "898898", 
"password": "pass", 
"phoneNumber": "936", 
"username": "mehdi" 
}] 

私の問題はありますか?

+0

あなたはJSON文字列を投稿してくださいことはできますか? – Bhokal

+0

@Bhokalはい私の質問に追加 –

+0

なぜこの議論は話題になっていないのですか?それはMCVEを含んでいます。 –

答えて

0

私のクライアントJSON出力は、1人のユーザーが含まれていると私は私の問題を解決するために、このようなサーバーのregisterメソッドを変更してユーザーの一覧の形である:

​​
関連する問題