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

mv网站源码如何将vs做的网站备份出来

mv网站源码,如何将vs做的网站备份出来,抖音网络营销方式,钢结构东莞网站建设文章目录 一、概述二、使用1、创建接口HttpExchange方法2、创建一个在调用方法时执行请求的代理3、方法参数4、返回值5、错误处理(1)为RestClient(2)为WebClient(3)为RestTemplate 注意 一、概述 官方文档…

文章目录

  • 一、概述
  • 二、使用
    • 1、创建接口@HttpExchange方法
    • 2、创建一个在调用方法时执行请求的代理
    • 3、方法参数
    • 4、返回值
    • 5、错误处理
      • (1)为RestClient
      • (2)为WebClient
      • (3)为RestTemplate
  • 注意

一、概述

官方文档:https://docs.spring.io/spring-framework/reference/6.1/integration/rest-clients.html#rest-http-interface

Spring6.0推出了新的HTTP接口(类似Openfeign,但是无法做到根据微服务名称进行负载均衡),Spring框架允许您将HTTP服务定义为Java接口@HttpExchange方法。
可以将这样的接口传递给HttpServiceProxyFactory创建通过HTTP客户端执行请求的代理,例如RestClient或者WebClient。
也可以从实现接口@Controller用于服务器请求处理。

二、使用

1、创建接口@HttpExchange方法

interface RepositoryService {@GetExchange("/repos/{owner}/{repo}")Repository getRepository(@PathVariable String owner, @PathVariable String repo);// more HTTP exchange methods...}

2、创建一个在调用方法时执行请求的代理

// 为RestClient
RestClient restClient = RestClient.builder().baseUrl("https://api.github.com/").build();
// 适配
RestClientAdapter adapter = RestClientAdapter.create(restClient);
HttpServiceProxyFactory factory = HttpServiceProxyFactory.builderFor(adapter).build();
// 构建接口的代理,可以注册为Bean,直接调用
RepositoryService service = factory.createClient(RepositoryService.class);
// 为WebClient
WebClient webClient = WebClient.builder().baseUrl("https://api.github.com/").build();
WebClientAdapter adapter = WebClientAdapter.create(webClient);
HttpServiceProxyFactory factory = HttpServiceProxyFactory.builderFor(adapter).build();RepositoryService service = factory.createClient(RepositoryService.class);
// 为RestTemplate 
RestTemplate restTemplate = new RestTemplate();
restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory("https://api.github.com/"));
RestTemplateAdapter adapter = RestTemplateAdapter.create(restTemplate);
HttpServiceProxyFactory factory = HttpServiceProxyFactory.builderFor(adapter).build();RepositoryService service = factory.createClient(RepositoryService.class);
// @HttpExchange在类型级别受支持,它适用于所有方法
@HttpExchange(url = "/repos/{owner}/{repo}", accept = "application/vnd.github.v3+json")
interface RepositoryService {@GetExchangeRepository getRepository(@PathVariable String owner, @PathVariable String repo);@PatchExchange(contentType = MediaType.APPLICATION_FORM_URLENCODED_VALUE)void updateRepository(@PathVariable String owner, @PathVariable String repo,@RequestParam String name, @RequestParam String description, @RequestParam String homepage);}

3、方法参数

带注解的HTTP交换方法支持具有以下方法参数的灵活方法签名
在这里插入图片描述

4、返回值

支持的返回值取决于底层客户端。

客户适应HttpExchangeAdapter诸如RestClient和RestTemplate支持同步返回值:
在这里插入图片描述

客户响应ReactorHttpExchangeAdapter诸如WebClient,支持上述所有功能以及反应性变体。下表显示了反应器类型,但是也可以使用通过ReactiveAdapterRegistry:
在这里插入图片描述
默认情况下,同步返回值与ReactorHttpExchangeAdapter取决于底层HTTP客户端的配置。您可以设置一个blockTimeout值,但是我们建议依赖底层HTTP客户机的超时设置,它在较低的级别上运行并提供更多的控制。

5、错误处理

要定制错误响应处理,您需要配置底层HTTP客户端。

(1)为RestClient

默认情况下,RestClient抛出RestClientException对于4xx和5xx HTTP状态代码。要对此进行自定义,请注册一个适用于通过客户端执行的所有响应的响应状态处理程序:

RestClient restClient = RestClient.builder().defaultStatusHandler(HttpStatusCode::isError, (request, response) -> ...).build();RestClientAdapter adapter = RestClientAdapter.create(restClient);
HttpServiceProxyFactory factory = HttpServiceProxyFactory.builderFor(adapter).build();

有关更多详细信息和选项(如取消错误状态代码),请参见的JavadocdefaultStatusHandlerRestClient.Builder

(2)为WebClient

默认情况下,WebClient抛出WebClientResponseException对于4xx和5xx HTTP状态代码。要对此进行自定义,请注册一个适用于通过客户端执行的所有响应的响应状态处理程序:

WebClient webClient = WebClient.builder().defaultStatusHandler(HttpStatusCode::isError, resp -> ...).build();WebClientAdapter adapter = WebClientAdapter.create(webClient);
HttpServiceProxyFactory factory = HttpServiceProxyFactory.builder(adapter).build();

(3)为RestTemplate

默认情况下,RestTemplate抛出RestClientException对于4xx和5xx HTTP状态代码。要对此进行自定义,请注册一个适用于通过客户端执行的所有响应的错误处理程序:

RestTemplate restTemplate = new RestTemplate();
restTemplate.setErrorHandler(myErrorHandler);RestTemplateAdapter adapter = RestTemplateAdapter.create(restTemplate);
HttpServiceProxyFactory factory = HttpServiceProxyFactory.builderFor(adapter).build();

有关更多详细信息和选项,请参见的JavadocsetErrorHandler在RestTemplate和ResponseErrorHandler等级制度。

注意

  1. HttpEntity标题和正文必须提供给RestClient通过headers(Consumer<HttpHeaders>)和body(Object).
  2. RequestEntity方法、URI、标头和正文必须提供给RestClient通过method(HttpMethod), uri(URI), headers(Consumer<HttpHeaders>)body(Object).
http://www.yayakq.cn/news/119022/

相关文章:

  • 做好我局门户网站建设工作wordpress 上传开发
  • 巴中网站建设培训班建一个所在区域网站需要多少资金
  • 全网vip视频网站建设网站后台如何添加新闻
  • 国际军事新闻西安关键词优化平台
  • 网站空间怎么使用最近的新闻热点事件
  • 做网站App价格多少南京建网站公司
  • 网站建站网站怎么样石家庄百度推广家庄网站建设
  • 武安市网站建设费用营销策略4p
  • 西安企业免费建站wordpress更改上传的大小
  • 哪个网站可以做付邮免费送活动易趣网的网站架构
  • 网络科技公司 网站建设诸暨做幕墙连接件的公司
  • 南宁网站制作建设网站怎么搞
  • 哈尔滨网站建设外包公司网站建设计划书范本
  • 网站建设心得.doc进行网站开发前 需要干什么
  • 单词优化和整站优化百度关键词优化首选667seo
  • o2o网站开发方案wordpress模板最新
  • 网站制作费用预算表百度云盘做网站空间
  • 公司网站建设哪家好苏州公司的网站建设
  • 做淘宝客网站多少钱直播网站开发费用
  • 哪些网站是可以做网络推广的高端的佛山网站建设
  • 建购物网站的详细步骤开发商破产清算赔偿五大顺序
  • 网站怎么解析职业学院网站建设
  • 商丘做网站多少钱托者设计吧官网
  • 商务类网站设计投票网站开发的背景和意义
  • 最新大气房地产企业网站织梦模板泰州网站建设工作
  • 同江佳木斯网站制作北海百度seo
  • 电子产品展示网站网页游戏大全找556pk游戏专业
  • 顺德做pc端网站学校网站建设 分工
  • 公司建设网站的报告书怀化网站建设
  • 克拉玛依做网站潍坊门户网站建设