2016-10-28 12 views
0

Java REST API를 사용하여 JIRA의 그룹에 사용자를 추가해야합니다. groupname을 쿼리 매개 변수로 사용하고 POST 이름을 페이로드로 사용하여 POST를 수행해야합니다. 나는 Spring RestOperations를 동일하게 사용하고있다.JIRA REST API의 POST 메소드 문제

JSONObject jsonObject = new JSONObject(); 
jsonObject.put("username", [email protected]); 

Group group = restOperations.exchange(
       "https://cs.jira.com/jira/rest/api/2/group/user?groupname=jira-users", 
       HttpMethod.POST, 
       new HttpEntity<>(jsonObject, getAuthorizedHttpHeaders(user, pass)), 
       Group.class).getBody(); 

나는 다음과 같은 예외가 받고 있어요 :

org.springframework.web.client.RestClientException: Could not write request: no suitable HttpMessageConverter found for request type [org.codehaus.jettison.json.JSONObject] and content type [application/json;charset=UTF-8] 

사람이 좀 도와 수를이 내 코드?

답변

0

두 번의 실수가 있습니다. 페이로드가 유효하지 않습니다. 당신은 키로서 이름와 JSON 객체를 넣어해야합니다

{"name":"[email protected]"} 

그것은해야한다 :

JSONObject jsonObject = new JSONObject(); 
jsonObject.put("name", [email protected]); 

여기에 설명 된대로 : https://docs.atlassian.com/jira/REST/cloud/#api/2/group-addUserToGroup. 당신이있어 현재 예외는 당신이 당신의 HttpEntity된 JSONObject을 통과한다는 사실에 의해 발생하지만

. JSONObject에 대한 매핑 메시지 변환기가 없습니다.

이 있어야한다 :

new HttpEntity<String>(jsonObject.toString(), getAuthorizedHttpHeaders(user, pass))