restTemplate(親測)
技術標籤:javaresttemplate遠端呼叫
和前面一樣,建議直接看我的筆記,因為筆記有些地方可能和csdn不相容
文件:restTemplate.note
連結:http://note.youdao.com/noteshare?id=fa182d39e3fb60796acf4dc8945baa1a&sub=976A8C321ADA413FBD4421A47B2F97D8
restTemplate,遠端呼叫get:
restTemplate.getForEntity(“http://localhost:9429/send/group”, null, param);
三個引數:1,url,無返回值,引數(string),在get的情況下,引數需要拼接到url後面,在post的情況下,需要傳入一個map,注意,get情況下,傳入map無用
System.out.println(sdf.format(ti.getStartTime()));
System.out.println(sdf.format(ti.getEndTime()));
Map<String, Object> param = new HashMap<>();
param.put(“selfId”,robotId);
param.put(“msg”, unitList.toString());
if(!StringUtils.isEmpty(unitList)){
restTemplate.getForObject(“http://localhost:9429/send/group?selfId=” + robotId +"&&groupId="+groupId+"&&msg="+unitList.substring(0,110), String.class);
}
在post的時候,需要封裝一個這樣的map,map的key是需要遠端呼叫的介面的引數key
注意:restTemplate需要進行一個配置:
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
,以下是一個遠端呼叫的restTemplate的get例項: [ 可供參考 ]
@Slf4j
public class TeTask implements SimpleJob {
// @Resource
// RedisTemplate redisTemplate;
@Resource
private RedisTemplate redisTemplate;
@Value("${qqRobot.qq:#{null}}")
private Long robotId;
@Value("${qqRobot.group:#{null}}")
private Long groupId;
@Resource
SelectUnitListService selectUnitListService;
//TODO 這裡改成一個配置檔案,config
@Resource
RestTemplate restTemplate;
@Override
public void execute(ShardingContext shadingContext) {
Date endTime=new Date();
TimePo ti=new TimePo();
ti.setEndTime(endTime);
ti.setStartTime(DateUtil.offsetHour(endTime, -1));
StringBuffer unitList= selectUnitListService.selectUnit(ti);
SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(ti.getStartTime()));
System.out.println(sdf.format(ti.getEndTime()));
Map<String, Object> param = new HashMap<>();
param.put("selfId",robotId);
param.put("groupId",groupId);
param.put("msg", unitList.toString());
if(!StringUtils.isEmpty(unitList)){
restTemplate.getForObject("http://localhost:9429/send/group?selfId=" + robotId +"&&groupId="+groupId+"&&msg="+unitList.substring(0,110), String.class);
}
}
}