1.使用
public void getProblemGrab() {
HttpHeaders headers = new HttpHeaders();
AsyncRestTemplate template = new AsyncRestTemplate();
headers.setContentType(MediaType.APPLICATION_JSON);
JSONObject param = new JSONObject();
String xxjobParam = XxlJobHelper.getJobParam();
if (null == xxjobParam || xxjobParam.isEmpty()) {
throw new BusiException("任务参数为空");
}
String[] params = xxjobParam.split(",");
String startTime = params[0];
String endTime = params[1];
String status = params[2];
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date startDate = null;
Date endDate = null;
try {
startDate = sdf.parse(startTime);
endDate = sdf.parse(endTime);
} catch (ParseException e) {
e.printStackTrace();
}
param.put("startTime", startDate);
param.put("endTime", endDate);
param.put("grabState", status);
HttpEntity<String> requestEntity = new HttpEntity<String>(JSONUtil.toJsonStr(param), headers);
ListenableFuture<ResponseEntity<String>> responseEntity = template.postForEntity(apiUrl, requestEntity, String.class);
responseEntity.addCallback(new ListenableFutureCallback<ResponseEntity<String>>() {
@Override
public void onFailure(Throwable throwable) {
Log.error(throwable.getMessage());
}
@Override
public void onSuccess(ResponseEntity<String> apiResponseEntity) {
IssuesResponseData response = new IssuesResponseData();
String boy = apiResponseEntity.getBody();
JSONObject jsonObject = (JSONObject) JSONObject.parse(boy);
response = jsonObject.toJavaObject(IssuesResponseData.class);
List<AcbQualityIssues> acbQualityIssuesList = new ArrayList<>();
if (CollUtil.isNotEmpty(response.getResult())) {
......
}
}
});
}
2.返回体实体类(根据接口返回形式自行修改字段)
@Data
public class IssuesResponseData {
private String code;
private String message;
private List<AcbIssuesRecord> result;
private Long timestamp;
private Boolean success;
}