我需要使用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]
有人可以帮我这个吗?
答案 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))