在 Spring Boot 中,可以使用 RestTemplate 来发送 HTTP 请求,并且可以携带参数和请求头。下面是使用 RestTemplate 发送 POST、GET 和 PUT 请求的示例:\n\n1. 发送 POST 请求:\n\njava\nRestTemplate restTemplate = new RestTemplate();\n\nHttpHeaders headers = new HttpHeaders();\nheaders.setContentType(MediaType.APPLICATION_JSON);\n\n// 设置请求参数\nMultiValueMap<String, String> params = new LinkedMultiValueMap<>();\nparams.add("param1", "value1");\nparams.add("param2", "value2");\n\n// 设置请求头\nheaders.set("header1", "value1");\nheaders.set("header2", "value2");\nHttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);\n\nString url = "http://example.com/api";\nResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);\n\n\n2. 发送 GET 请求:\n\njava\nRestTemplate restTemplate = new RestTemplate();\n\nHttpHeaders headers = new HttpHeaders();\nheaders.set("header1", "value1");\n\nString url = "http://example.com/api?param1=value1&param2=value2";\nHttpEntity<String> requestEntity = new HttpEntity<>(headers);\n\nResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);\n\n\n3. 发送 PUT 请求:\n\njava\nRestTemplate restTemplate = new RestTemplate();\n\nHttpHeaders headers = new HttpHeaders();\nheaders.setContentType(MediaType.APPLICATION_JSON);\n\n// 设置请求参数\nMultiValueMap<String, String> params = new LinkedMultiValueMap<>();\nparams.add("param1", "value1");\nparams.add("param2", "value2");\n\n// 设置请求头\nheaders.set("header1", "value1");\nheaders.set("header2", "value2");\nHttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);\n\nString url = "http://example.com/api";\nResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.PUT, requestEntity, String.class);\n\n\n以上示例中,使用 RestTemplate 发送请求时,通过设置 HttpHeaders 来设置请求头,同时也可以通过 MultiValueMap 来设置请求参数。使用 exchange 方法来发送请求,并指定请求的 URL、HTTP 方法、请求实体和期望的响应类型。最后,可以从 ResponseEntity 对象中获取响应结果。

Spring Boot RestTemplate: 发送带参数和请求头的 POST、GET、PUT 请求

原文地址: https://www.cveoy.top/t/topic/pVJY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录