restTemplate发送get与post请求 并且带参数

2020 年 9 月 15 日 0 条评论 475 次阅读 0 人点赞
	@Test
	public void test() throws Exception{
		String url = "http://localhost:8081/aa";
		//headers
		HttpHeaders requestHeaders = new HttpHeaders();
		requestHeaders.add("api-version", "1.0");
		//body
		MultiValueMap<String, String> requestBody = new LinkedMultiValueMap<>();
		requestBody.add("id", "1");
		//HttpEntity
		HttpEntity<MultiValueMap> requestEntity = new HttpEntity<MultiValueMap>(requestBody, requestHeaders);
		//post
		ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, requestEntity, String.class);
		System.out.println(responseEntity.getBody());
 
		ResponseEntity<String> responseEntity1  = restTemplate.exchange("http://172.26.186.206:8080/hive/list/schemas?appid=admin_test",
				HttpMethod.GET, requestEntity, String.class);
		System.out.println(responseEntity1.getBody());
	}

restTemplate的注解如下:

@Component
public class MyConfig {
 
 
    @Autowired
    RestTemplateBuilder builder;
 
    @Bean
    public RestTemplate restTemplate() {
        return builder.build();
    }
}

发送get请求

@Test
public void testCheck() {
    String url = "http://172.26.186.206:8080/syncsql/process";
    String timeStramp = String.valueOf(System.currentTimeMillis());
    HttpHeaders headers = new HttpHeaders();
    headers.add("appid", "");
    headers.add("sign", sign(null, null,null));
    headers.add("timestamp", timeStramp);

    JSONObject jsonObj = new JSONObject();

    HttpEntity<String> formEntity = new HttpEntity<String>(null, headers);

    Map<String, Object> maps = new HashMap<String, Object>();
    maps.put("sql", "select * from jingfen.d_user_city");
    maps.put("type", 1);
    maps.put("account", "admin_test");

    ResponseEntity<String> exchange = restTemplate.exchange(url + "?sql={sql}&amp;type={type}&amp;account={account}",
            HttpMethod.GET,
            formEntity, String.class, maps);
    String body = exchange.getBody();

    LOGGER.info("{}", body);
}

雷雷

这个人太懒什么东西都没留下

文章评论(0)

(Spamcheck Enabled)