2017-03-31 14 views
2

以下は、私のPOJOクラスの取得HTTPステータス415 - ジャージーでサポートされていないメディアタイプは

public class Credentials { 
private int cred_id; 
private String cred_user_name; 
private String cred_password; 
private String cred_token; 

public Credentials(int cred_id, String cred_user_name, 
     String cred_password, String cred_token) { 
    this.cred_id = cred_id; 
    this.cred_user_name = cred_user_name; 
    this.cred_password = cred_password; 
    this.cred_token = cred_token; 
} 

public int getCred_id() { 
    return cred_id; 
} 

public void setCred_id(int cred_id) { 
    this.cred_id = cred_id; 
} 

public String getCred_user_name() { 
    return cred_user_name; 
} 

public void setCred_user_name(String cred_user_name) { 
    this.cred_user_name = cred_user_name; 
} 

public String getCred_password() { 
    return cred_password; 
} 

public void setCred_password(String cred_password) { 
    this.cred_password = cred_password; 
} 

public String getCred_token() { 
    return cred_token; 
} 

public void setCred_token(String cred_token) { 
    this.cred_token = cred_token; 
} 

}以下

がある私のリソースクラスである

public class ValidateUser { 
@POST 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_JSON) 
public String validateUser(Credentials credentials) { 
    System.out.println("Going to validate the user" + credentials); 
    String username = credentials.getCred_user_name(); 
    String password = credentials.getCred_password(); 
    CredentialsAccessor ca = new CredentialsAccessor(); 
    long count = 0; 
    count = ca.authenticateUser(username, password); 
    if (count > 0) { 
     JSONObject jObject = new JSONObject(); 
     try { 
      jObject.put("valid", "true"); 
      return jObject.toString(); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
      return "{'valid':'error'}"; 
     } 
    } else { 
     JSONObject jObject = new JSONObject(); 
     try { 
      jObject.put("valid", "false"); 
      return jObject.toString(); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
      return "{'valid':'error'}"; 
     } 
    } 
} 

}

Please see the maven dependencies here

私はRESTClientに私はContent-Typeのようなコンテンツの種類与えることが確実:アプリケーション/ JSONを

以下

Please see the RESTClient

が私のweb.xml

である。しかし、その後も、私はエラー 'が取得取得HTTPステータス415 - サポートされていないメディア '

イメージはどこに間違っていますか?

答えて

1

私はMOXyを持っています。しかし、MOXyは、@XmlRootElementで注釈を付けられたクラスを処理する方法しか知りません。それが415の理由です:ジャージーはタイプを扱うためにMessageBodyReaderを見つけることができません。

あなたがCredentialsクラスの上に@XmlRootElementを追加した後、あなたはMOXYが実際にあなたのCredentialsにJSONをデシリアライズすることができませんので、別のエラーを取得するつもりです。その理由は、デフォルトの(引数なしの)コンストラクタがないことです。だから、それを加えて、私はあなたが良いべきだと思っています。

+0

ありがとうございました。それはあなたが説明したのとまったく同じように働いた –

関連する問題