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

本网站仅支持ie浏览器六安城市网官网

本网站仅支持ie浏览器,六安城市网官网,微信低代码开发平台,东莞p2p网站开发费用文章目录 一、概述二、使用1、创建接口HttpExchange方法2、创建一个在调用方法时执行请求的代理3、方法参数4、返回值5、错误处理#xff08;1#xff09;为RestClient#xff08;2#xff09;为WebClient#xff08;3#xff09;为RestTemplate 注意 一、概述 官方文档… 文章目录 一、概述二、使用1、创建接口HttpExchange方法2、创建一个在调用方法时执行请求的代理3、方法参数4、返回值5、错误处理1为RestClient2为WebClient3为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.v3json) 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();有关更多详细信息和选项(如取消错误状态代码)请参见的JavadocdefaultStatusHandler在RestClient.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等级制度。 注意 HttpEntity标题和正文必须提供给RestClient通过headers(ConsumerHttpHeaders)和body(Object).RequestEntity方法、URI、标头和正文必须提供给RestClient通过method(HttpMethod), uri(URI), headers(ConsumerHttpHeaders)和body(Object).
http://www.hkea.cn/news/14296804/

相关文章:

  • wordpress 建站教程 下载大连公司
  • 石家庄晋州网站建设阿里云能做网站么
  • 如何查询网站备案号网站开发人员趋势
  • 群晖可以做网站吗招商网站建设全包
  • 南京手机网站制作公司做游戏音频下载网站
  • 专门做各种产品测评的网站asp网站源码安装流程
  • 合肥网站推广优化公司个人网站logo
  • 视频网站直播怎么做的企业手机网站建设信息
  • 佛山市研发网站建设哪家好网站开发时自适应
  • 下列关于网站开发中网页上传和武夷山网站定制
  • 无锡网站制作公司哪家好廊坊seo整站优化软件
  • 网站建设售后回访话术东莞市广建建设工程有限公司
  • 网站建设年度报告注册google账号
  • 住房和城市建设厅网站2016企业网站建设方案
  • 河南专业网站建设公司排名中小企业建站是什么
  • 临海钢结构设计网站wordpress安装不了主题
  • 做网站智能工具中国建设银行网址是什么
  • 烟台网站建设4038gzs培训教育机构
  • 自动注册wordpress账号软件google企业网站seo
  • 苏州知名高端网站建设企业大庆今天最新公告
  • 河北省城乡和建设厅网站首页阀门公司网站建设
  • 阿瓦提网站建设项目投资
  • 织梦做的网站有哪些小程序制作软件下载
  • 免费网站建设福州工作室网站建设的意义
  • wordpress建站腾讯云现在pc网站的标准一般是做多大
  • 网站开速度 流失网站开发之前前后端不分离
  • 可以做系统同步时间的网站制作商城公司
  • 基础型网站价格网站设计中怎么做二级页面
  • 企业做网站平台的好处设计师个人主页
  • 深圳住房和建设局网站官网打不开综合门户网站什么意思