RestTemplate访问web资源的用法和定制

778 阅读1分钟

RestTemplate请求web资源,在RequestEntity的请求头上添加自定义的header,注意此时泛型为空,无需用ParameterizedTypeReference进行解析

类型转换,对Money类型进行序列化和反序列化
RestTemplate的高级用法,对于ResponseEntity和RequestEntity中的泛型对象进行解析,用的是ParameterizedTypeReference<>和restTemplate.exchange()方法,传入解析后的对象,这里的null指的是此时requestEntity请求实体为空。
基于底层的HttpComponents支持库,用HttpComponents.httpClient实现keepalive的策略定制。如果不定制,则默认使用DefaultKeepAliveStrategy,即若有keep_alive头,能取到time_out值,则用Long.parseLong(pe.getValue())将获取到的文本字符串,转化为long以后使用,若取不到则认定连接永久有效
最后要用HttpComponentsClientHttpRequestFactory,传入httpClient,构造requestFactory,完成该请求工厂bean的配置