restTemplate设置支持content-type

在Spring框架中,使用RestTemplate时,可以通过继承HttpMessageConverterExtractor来设置支持特定的Content-Type。以下是一个示例代码,演示如何设置RestTemplate以支持特定的Content-Type(例如application/json):

import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.client.RestTemplate;
 
import java.nio.charset.StandardCharsets;
import java.util.Collections;
 
public class RestTemplateConfig {
 
    public static RestTemplate createRestTemplateWithJsonSupport() {
        RestTemplate restTemplate = new RestTemplate();
 
        // 创建JSON转换器
        HttpMessageConverter<?> converter = new MappingJackson2HttpMessageConverter();
 
        // 设置支持的MediaType
        converter.setSupportedMediaTypes(Collections.singletonList(
                new MediaType("application", "json", StandardCharsets.UTF_8)));
 
        // 将转换器添加到RestTemplate中
        restTemplate.setMessageConverters(Collections.singletonList(converter));
 
        return restTemplate;
    }
 
    public static void main(String[] args) {
        RestTemplate restTemplate = createRestTemplateWithJsonSupport();
        // 使用restTemplate进行操作...
    }
}