これは私の最初の質問です。私はポストリクエスト(必要なパラメタのためのinputBean/pojoクラスを使用)を作成し、jiraレスポンスAPIを使用してレスポンス(outputBean/pojoクラスを使用してjsonレスポンスをマップする)を取得する必要があります。JIRA REST API、Javaリクエスト/レスポンス
public Resource create(CreateIssueRequest createIssueRequest) {
//creating the issue builder with project key and issuetype
IssueInputBuilder issueBuilder = new IssueInputBuilder(
createIssueRequest.getFields().getProject().getKey()
,createIssueRequest.getFields().getIssueType().getCodeName());
//setting issue fields using the inputBean
issueBuilder.setSummary(createIssueRequest.getFields().getSummary());
issueBuilder.setDescription(createIssueRequest.getFields().getDescription());
//requesting the issue creation method , BasicIssue contains the same fields as my outputbean , this whole thing is the request
BasicIssue issue = jiraClient.getClient().getIssueClient().createIssue(issueBuilder.build()).claim();
//creating the output bean
CreateIssueResponse createIssueResponse = new CreateIssueResponse(
issue.getId(),
issue.getKey(),
issue.getSelf());
try {
jiraClient.getClient().getMetadataClient().getStatus(new URI("localhost:8080/rest/api/2/issue"));
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Resource resource = new Resource();
try {
jiraClient.getClient().close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
resource.setData(createIssueResponse);
return resource;
}
私はこのコードを使用して達成するために管理することは、問題を作成し、outputbean対応を求めている、私が代わりに希望することはジャージのようなレスポンスのインスタンスを取得している:JSONと注釈のために、ここでのコードだとunmarshallowing事そのレスポンスのステータス+エンティティレスポンス(このコードを使用して取得する唯一のものはエンティティです)のような、より多くの情報が添付されています。私はジラの残りのAPIで何か類似のものを探しましたが、何も見つかりませんでした。
enyoneは私を助けるために喜んでいる場合、私は私は疑問
を明確にするために喜んでいるよ、不明確だったかもしれない 私はトライキャッチで「ポスト要求」を取り巻く解決(リクエストが201を返すdoes notのとき、それはあなたが見ることができるように、その例外の魔女が
try{
issue = jiraClient.getClient().getIssueClient().createIssue(issueBuilder.build()).claim();
}catch(RestClientException e){
ErrorResource error = new ErrorResource();
error.setStatus(e.getStatusCode().get());
error.setDetail(e.getLocalizedMessage());
error.setTitle("An error occurred while creating the issue");
resource.setErrors(new ArrayList<ErrorResource>());
resource.getErrors().add(error);
return resource;
}
catch RestingClientException、thanks – 3Daygg
エラー状況で属性を取得したい場合は、例外をキャッチするのが適切です。 – rorschach