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

淘宝上开做网站的店铺网络推广方案怎么写

淘宝上开做网站的店铺,网络推广方案怎么写,阿里云空间做网站,家教网站开发公司1. 介绍 Java中传统的RestTemplate 的主要问题在于不支持响应式流规范&#xff0c;也就无法提供非阻塞式的流式操作。而WebClient是响应式、非阻塞的客户端&#xff0c;属于Spring5中的spring-webflux库 2. 依赖 maven依赖 <dependency><groupId>org.springfra…

1. 介绍

Java中传统的RestTemplate 的主要问题在于不支持响应式流规范,也就无法提供非阻塞式的流式操作。而WebClient是响应式、非阻塞的客户端,属于Spring5中的spring-webflux库

2. 依赖

maven依赖

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

gradle依赖

dependencies {compile 'org.springframework.boot:spring-boot-starter-webflux'
}

3. 使用

  1. WebClient实例创建

方式一:使用create方法创建

WebClient client = WebClient.create();

也可以创建的时候指定base URI

WebClient client = WebClient.create("http://localhost:8080");

方式二:最常用的方式是使DefaultWebClientBuilder

WebClient client = WebClient.builder().baseUrl("http://localhost:8080").defaultCookie("cookieKey", "cookieValue").defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE) .defaultUriVariables(Collections.singletonMap("url", "http://localhost:8080")).build();

方式三:创建WebClient实例并指定超时时间

  • 可以通过ChannelOption.CONNECT_TIMEOUT_MILLIS** option** 指定连接超时时间
  • 可以通过 ReadTimeoutHandler** **和WriteTimeoutHandler设置读和写的超时时间
  • 可以通过responseTimeout设置响应超时时间
HttpClient httpClient = HttpClient.create().option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 5000).responseTimeout(Duration.ofMillis(5000)).doOnConnected(conn -> conn.addHandlerLast(new ReadTimeoutHandler(5000, TimeUnit.MILLISECONDS)).addHandlerLast(new WriteTimeoutHandler(5000, TimeUnit.MILLISECONDS)));WebClient client = WebClient.builder().clientConnector(new ReactorClientHttpConnector(httpClient)).build();

2) 准备请求——指定Method

第一种方式:使用WebClient对象的method方法(通用)

UriSpec<RequestBodySpec> uriSpec = client.method(HttpMethod.POST);

另外,WebClient对象也提供了get、post、delete等方法

UriSpec<RequestBodySpec> uriSpec = client.post();
  1. 准备请求——指定URL

使用uri方法

RequestBodySpec bodySpec = uriSpec.uri("/resource");

使用UriBuilder函数

RequestBodySpec bodySpec = uriSpec.uri(uriBuilder -> uriBuilder.pathSegment("/resource").build());

使用URI实例

RequestBodySpec bodySpec = uriSpec.uri(URI.create("/resource"));
  1. 准备请求——指定方法体

最常见是直接使用bodyValue方法

RequestHeadersSpec<?> headersSpec = bodySpec.bodyValue("data");

通过响应式Publisher指定

RequestHeadersSpec<?> headersSpec = bodySpec.body(Mono.just(new Foo("name")), Foo.class);

通过BodyInserters工具类指定

RequestHeadersSpec<?> headersSpec = bodySpec.body(BodyInserters.fromValue("data"));

通过BodyInserters响应式Publisher指定

RequestHeadersSpec headersSpec = bodySpec.body(BodyInserters.fromPublisher(Mono.just("data")),String.class);

当传递的请求体是一个 MultiValueMap 对象时,WebClient 默认发起的是表单提交

LinkedMultiValueMap map = new LinkedMultiValueMap();
map.add("key1", "value1");
map.add("key2", "value2");
RequestHeadersSpec<?> headersSpec = bodySpec.body(BodyInserters.fromMultipartData(map));
  1. 准备请求——指定Headers

可以通过header方法设置请求的Header

ResponseSpec responseSpec = headersSpec.header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE).accept(MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML).acceptCharset(StandardCharsets.UTF_8).ifNoneMatch("*").ifModifiedSince(ZonedDateTime.now()).retrieve();
  1. 获取请求的响应

我们可以通过exchangeToMono/exchangeToFlux o或者 retrieve获取请求的响应结果

Mono<String> response = headersSpec.exchangeToMono(response -> {if (response.statusCode().equals(HttpStatus.OK)) {return response.bodyToMono(String.class);} else if (response.statusCode().is4xxClientError()) {return Mono.just("Error response");} else {return response.createException().flatMap(Mono::error);}
});
Mono<String> response = headersSpec.retrieve().bodyToMono(String.class);
http://www.hkea.cn/news/205212/

相关文章:

  • phpcms做网站感想漯河seo推广
  • 公司部门kpi绩效考核指标模板河北百度seo软件
  • 印团网网站是哪家做的唯尚广告联盟
  • 网红营销网站seo综合查询怎么用的
  • 西安地区网站建设云推广
  • wordpress个人站2020年关键词排名
  • 网站建设企业公司石家庄新闻头条新闻最新今天
  • 道滘镇做网站百度统计
  • qq空间做宣传网站怎样建立自己的网站平台
  • 做设计一般用的素材网站是什么意思刷网站排名软件
  • 帮人做兼职的网站吗青岛seo服务哪家好
  • 贷款类网站怎样做网络营销的推广
  • 乐清做网站哪家好税收大数据
  • 校园网站建设需求天津放心站内优化seo
  • 哈尔滨微网站建设热搜在哪里可以看
  • 网站用oracle做数据库福州seo推广服务
  • 康保县城乡建设委员会网站营销型网站重要特点是
  • 手机做网站的步骤跨境电商有哪些平台
  • 请人做网站要多少网络事件营销
  • 网站页脚有什么作用厦门seo哪家强
  • 东莞百度提升优化优化推广网站推荐
  • 查企业网站有哪些站长统计app软件
  • 做a高清视频在线观看网站济源新站seo关键词排名推广
  • 刚做的网站怎么搜索不出来百度seo收录软件
  • 视频拍摄app站长工具seo综合查询广告
  • 新闻单位建设网站的意义武汉seo推广优化
  • 低价网站公司软文怎么写
  • 东莞市建设公共交易中心网站百度官网首页
  • 如何建立的网站能争钱优化营商环境 助推高质量发展
  • 做百度网站营销型网站建设排名