Spring RestTemplate的使用注意

导包

RestTemplate HTTP客户端工具是Spring框架提供的,不需要导入额外的依赖坐标,只需要在项目中引入Web的依赖即可。

<dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

 

注入RestTemplate

默认好像是不可以直接在项目中注入使用RestTemplate的,需要我们注入

@Configuration
public class RestConfig {

    @Bean("restTemplate")
    public RestTemplate restTemplate(ClientHttpRequestFactory factory){
        RestTemplate restTemplate = new RestTemplate(factory);
        MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
        mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Arrays.asList(
                MediaType.TEXT_HTML,
                MediaType.TEXT_PLAIN));
        restTemplate.getMessageConverters().add(mappingJackson2HttpMessageConverter);

        return restTemplate;
    }

    @Bean
    public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
        factory.setReadTimeout(5000);
        factory.setConnectTimeout(15000);
        // 设置代理
        //factory.setProxy(null);
        return factory;
    }
}

 

RestTemplate请求不支持content type [text/html;charset=UTF-8]类型,以上代码可以解决这个问题:Could not extract response: no suitable HttpMessageConverter found for response type.... content type [text/html;charset=UTF-8]

发送GET请求注意事项

String url=http://test.com/url?param1={param1}&param2={param2};
Map<String, Object> params = new HashMap<>();
params.put("param1", "value1");
params.put("param2", "value2");
JSONObject mutiData = restTemplate.getForObject(url, JSONObject.class, params);

 

 

需要注意的是:

?param1={param1}&param2={param2};

参数需要写在url上,并且保证占位符param与map中的key一致!

 

 

 

本站为非盈利性站点,所有资源、文章等仅供学习参考,并不贩卖软件且不存在任何商业目的及用途,如果您访问和下载某文件,表示您同意只将此文件用于参考、学习而非其他用途。
本站所发布的一切软件资源、文章内容、页面内容可能整理来自于互联网,在此郑重声明本站仅限用于学习和研究目的;并告知用户不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
如果本站相关内容有侵犯到您的合法权益,请仔细阅读本站公布的投诉指引页相关内容联系我,依法依规进行处理!
作者:理想
链接:https://www.imyjs.cn/archives/1196
THE END
二维码
Spring RestTemplate的使用注意
导包 RestTemplate HTTP客户端工具是Spring框架提供……
<<上一篇
下一篇>>
文章目录
关闭
目 录