1. 程式人生 > 其它 >restTemplate(親測)

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無用

restTemplate.getForObject(“http://localhost:9429/send/group?selfId=” + robotId +"&&groupId="+groupId, String.class);

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);
}

在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);
  }
}

}