JIRA REST API中的POST方法问题

时间:2016-10-28 15:37:37

标签: json post jira-rest-api

我需要使用java REST API将用户添加到JIRA中的组。我需要使用groupname作为查询参数和用户名作为有效负载进行POST。我正在使用Spring RestOperations。这是我的代码:

JSONObject jsonObject = new JSONObject();
jsonObject.put("username", abc@cs.com);

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]

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

这里有两个错误...... 有效负载无效。您需要将带有 name 的JSON对象作为键:

{"name":"abc@cs.com"}

应该是:

JSONObject jsonObject = new JSONObject();
jsonObject.put("name", abc@cs.com);

如此处所述:https://docs.atlassian.com/jira/REST/cloud/#api/2/group-addUserToGroup

但是,您获得的当前异常是由于您将 JSONObject 传递给 HttpEntity 这一事实引起的。 JSONObject 没有映射消息转换器。

应该是:

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