RestTemplate总结

学习传送门:RestTemplate精讲

public class HttpUtils {

    @Autowired
    private RestTemplate restTemplate;

    public <T> ResponseEntity<T> post(String uri, HttpHeaders httpHeaders, Object content, Class<T> resClass){

        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
        RequestEntity requestEntity = null;
        try{
            requestEntity = new RequestEntity<>(
                    content,
                    httpHeaders,
                    HttpMethod.POST,
                    new URI(uri));
        }catch (URISyntaxException e){
            e.printStackTrace();
        }

        return  restTemplate.exchange(requestEntity, resClass);
    }

    public <T> ResponseEntity<T> get(String uri, HttpHeaders httpHeaders, Class<T> resClass){
        HttpEntity entity  = new HttpEntity(httpHeaders);
        return  restTemplate.exchange(uri, HttpMethod.GET, entity, resClass);
    }

}


异常的处理补充:

我们自定义异常器除了实现ResponseErrorHandler接口,还能继承DefaultResponseErrorHandler类,如果只需要自定义状态码错误检测,重写其实现的hasError方法;

boolean hasError(ClientHttpResponse response)

如果只需要自定义异常处理,重写其handleError方法即可,

void handleError(ClientHttpResponse response)

如果全部要自定义,那还是实现其ResponseErrorHandler接口好点吧!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容