使用format优雅的动态替换请求参数
在实际开发中,请求的参数常常要进行动态的拼接,使用format可以优雅的进行拼接。
/**
* 测试动态字符串替换
*/
@Test
public void testStrFormatDemo(){
String testUrl = "http://localhost:8080/test?name=%s";
String name = "cay";
String url = String.format(testUrl, name);
logger.info("替换后的字符串:{}", url);
}
接着就可以搭配yaml文件使用了
testUrl: http://localhost:8080/test?name=%s
使用restTemplate发送请求
//获取yaml文件里的值
@Value("${testUrl}")
private String testUrl;
@Autowired
private RestTemplate restTemplate;
public void testStrFormat(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.set("Accept", "application/json");
httpHeaders.set("Content-Type", "application/json; charset=UTF-8");
HttpEntity<JSONObject> entity = new HttpEntity<>(httpHeaders);
String name = "cay";
String url = String.format(testUrl, name);
logger.info("替换后的字符串:{}", url);
//为了防止restTemplate.exchange()飘黄,使用的另一种方法,没有强迫症的可以使用普通的方法
ParameterizedTypeReference<Map<String, Object>> typeReference1 = new ParameterizedTypeReference<Map<String, Object>>() {
};
ResponseEntity<Map<String, Object>> resultPostCt = restTemplate.exchange(url, HttpMethod.GET, entity,
typeReference1);
}