2017-03-31 3 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에서 내가 콘텐츠 형식으로 콘텐츠 형식 줄 것을 보장 : 응용 프로그램/JSON을

다음

Please see the RESTClient

내 web.xml을

입니다하지만 그렇다하더라도 내가 오류 '가 점점 얻을 HTTP 상태 415 - 지원되지 않는 미디어 '

이미지를 잘못 표시 할 수 있습니까?

답변

1

나는 MOXy를 만난다. 그러나 MOXy는 @XmlRootElement 주석이 달린 클래스를 처리하는 방법 만 알고 있습니다. 그것이 415의 이유입니다. 저지는이 유형을 처리하기 위해 MessageBodyReader을 찾을 수 없습니다. 당신이 Credentials 클래스의 상단에 @XmlRootElement을 추가 한 후

, 당신은 목시 실제로 Credentials에 JSON을 역 직렬화 할 수 없기 때문에 또 다른 오류가 발생하는 것입니다. 그 이유는 기본 (인수 없음) 생성자가 없다는 것입니다. 그래서 그걸 더하면 좋을 것 같아.

+0

대단히 감사합니다. 당신이 묘사 한 것과 똑같이 작동했습니다. –

관련 문제