当前位置: 首页 > news >正文

怎么做钓鱼网站生成网站开发包括软件吗

怎么做钓鱼网站生成,网站开发包括软件吗,网站建设外包平台,wordpress文章分类一个原文网址:Spring之HTTP客户端--RestTemplate的使用_IT利刃出鞘的博客-CSDN博客 简介 本文介绍RestTemplate的用法。RestTemplate是Spring自带的HTTP客户端,推荐使用。 项目中经常需要使用http调用第三方的服务,常用的客户端如下&#xff1…

原文网址:Spring之HTTP客户端--RestTemplate的使用_IT利刃出鞘的博客-CSDN博客

简介

本文介绍RestTemplate的用法。RestTemplate是Spring自带的HTTP客户端,推荐使用。

项目中经常需要使用http调用第三方的服务,常用的客户端如下:

  1. HttpURLConnection(JDK的)
  2. HttpClient(Apache的)
  3. OkHttp(Square的)

上边这几个客户端用起来比较麻烦,代码量比较多,而且要注意资源回收问题。Spring提供了一个简单便捷的工具类,它就是RestTemplate。RestTemplate的底层默认是HttpURLConnection(JDK),可以切换为其他客户端,比如:HttpClient(Apache的)、OkHttp(Square的)。

引入依赖

只需引入spring-boot-starter-web即可,它里边包含了RestTemplate。

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

配置类

法1:最简配置

@Configuration
public class RestTemplateConfig {@Beanpublic RestTemplate getRestTemplate() {return new RestTemplate();}
}

这种初始化方法,是使用了JDK自带的HttpURLConnection作为底层HTTP客户端实现。 

法2:自定义客户端及超时等

建议自定义配置,原因如下:

  1. 从性能及易用程度来看,OkHttp 优于 HttpClient、HttpClient优于HttpURLConnection。
  2. 超期时间,请求连接时间等是HTTP客户端必须要设置的,要支持配置。

RestTemplate工具提供两种配置方式。

  1. RestTemplate类
    1. 优点:可以便捷创建一些错误处理拦截、添加默认请求参数等。
  2. RestTemplateBuilder
    1. 优点:可以便捷设置连接超时和读超时
    2. Spring已默认将RestTemplateBuilder装配为了Bean,直接使用即可。
package com.knife.example.common.config;import okhttp3.OkHttpClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.OkHttp3ClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;import java.time.Duration;@Configuration
public class RestTemplateConfig {@Value("${custom.restTemplate.connectTimeout:1s}")private Duration connectTimeout;@Value("${custom.restTemplate.readTimeout:1s}")private Duration readTimeout;@Beanpublic RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder){RestTemplate restTemplate = restTemplateBuilder.requestFactory(this::getClientHttpRequestFactory).setConnectTimeout(connectTimeout).setReadTimeout(readTimeout)// 响应异常处理。应用场景:响应状态200是正常,可以做统一的非200响应码的拦截// .errorHandler(ResponseErrorHandler errorHandler)// 设置请求拦截。应用场景:添加一些全局的请求头等。可创建多个,执行顺序和list中对象的顺序一致。// .interceptors(List<ClientHttpRequestInterceptor> interceptors)// 设置信息转换对象。应用场景:设置一些编码格式、数据类型、json/xml等的类型转换器等。// .messageConverters(List<HttpMessageConverter<?>> messageConverters)// 配置一个扩展uri模板的策略。应用场景:添加一些统一的请求前缀等。// .uriTemplateHandler(UriTemplateHandler handler).build();return restTemplate;}/*** 使用OkHttpClient作为底层客户端(要引入okhttp依赖:com.squareup.okhttp3:okhttp:xxx)*/private ClientHttpRequestFactory getClientHttpRequestFactory(){// 这里设置超时时间是无效的,以外边的restTemplateBuilder.setXxxTimeout为准OkHttpClient okHttpClient = new OkHttpClient.Builder()// .connectTimeout(5, TimeUnit.SECONDS)// .readTimeout(5, TimeUnit.SECONDS)// .writeTimeout(5, TimeUnit.SECONDS).build();return new OkHttp3ClientHttpRequestFactory(okHttpClient);}// /**//  * 使用HttpClient作为底层客户端(要引入httpclient依赖:org.apache.httpcomponents:httpclient:xxx)//  */// private ClientHttpRequestFactory getClientHttpRequestFactory() {//     //这里设置超时时间是无效的,以外边的restTemplateBuilder.setXxxTimeout为准//     RequestConfig config = RequestConfig.custom()//             // 单位都是:毫秒//             .setConnectTimeout(2000)//             .setConnectionRequestTimeout(1000)//             .setSocketTimeout(1000)//             .build();//     CloseableHttpClient client = HttpClientBuilder//             .create()//             .setDefaultRequestConfig(config)//             .build();////     return new HttpComponentsClientHttpRequestFactory(client);// }}

使用

注入RestTemplate即可。

上边是文章的部分内容,为便于维护,全文已转移到此网址:Spring之HTTP客户端-RestTemplate的使用 - 自学精灵

http://www.yayakq.cn/news/68374/

相关文章:

  • 网站主办者和所有者区别WordPress商用收费吗
  • 石狮网站建设大型 交友 网站 建设 公司
  • 网站建设的流程和内容先做网站再付款
  • 湛江模板建站公司中国建设工程信息网官网查询
  • 网站怎么做适配怎么做公司的网站
  • 做新网站 备案证明交接沈阳企业建站系统模板
  • 怎么做移动端网站计算像素店面设计招聘
  • 工信部会抽查网站么wordpress火车头发布模板
  • 上海门户网站制作公司做网站需要多大的内存
  • 如何做简单网站得物网上商城
  • 公司网站建设维护合同老百姓网免费发布信息
  • 福田网站建设的工具网站下载的软件在哪里找的到
  • 南昌网站设计网站开发长沙建设教育网
  • 网站建设需求策划书会简单的网站建设
  • 网站开展营销的思路和方法什么静态网站容易做
  • 十大拿货网站html5网站优点
  • 天津重型网站建设推荐深圳市中心在哪
  • 查找网站建设历史记录上海做网站多少费用
  • 招聘信息网站开发背景网站域名申请程序
  • 建材公司网站建设方案浙江网城建设有限公司
  • 河南住房和城乡建设厅职称网站网站数据库 数据库空间购买租用
  • 鄂尔多斯市东胜区城市建设局网站html代码怎么下载
  • 北京建设制作网站移动互联与网站开发
  • 简洁网站模板搜索引擎费用
  • 省建设厅官方网站常用于网站推广的营销手段是
  • 哪里有做网站上海人才网网址
  • 程序开发总结苏州优化平台
  • 网站建设与网页设计百度文库织梦转易优cms
  • 网站做百度百科生活家装饰公司口碑怎么样
  • 做网站 用 云主机全网网络营销系统