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

苏宁网站建设和推广策略兰州seo

苏宁网站建设和推广策略,兰州seo,迎访问中国建设银行网站-,电子商务网站建设教学HttpExchange是SpringBoot3的新特性. Spring Boot3 提供了新的 HTTP 的访问能力#xff0c;封装了Http底层细节. 通过接口简化 HTTP远程访问#xff0c;类似 Feign 功能。 SpringBoot 中定义接口提供 HTTP 服务 -- 框架生成的代理对象实现此接口 -- 框架生成的代理…HttpExchange是SpringBoot3的新特性. Spring Boot3 提供了新的 HTTP 的访问能力封装了Http底层细节. 通过接口简化 HTTP远程访问类似 Feign 功能。 SpringBoot 中定义接口提供 HTTP 服务 -- 框架生成的代理对象实现此接口 -- 框架生成的代理对象实现 HTTP 的远程访问。 1.1.1 WebClient 非阻塞. 阻塞和非阻塞针对被调度者,被调度者收到请求后,做完请求任务之后才给出反馈就是阻塞,收到请求之后马上给 出反馈然后去做事情,就是非阻塞异步请求. 异步和同步针对调度者,调用者发送请求,如果等待对方回应之后才去做其他事情,就是同步,如果发送请求之后不 等着对方回应就去做其他事情就是异步它的响应式编程的基于 Reactor 1.1.2 Http接口的参数列表和返回值 作为 HTTP 服务接口中的方法允许使用的参数列表 作为 HTTP 服务接口中的方法一般可选的返回值 void、Mono执行请求并丢弃响应内容。HttpHeaders、Mono: 执行请求丢弃响应体返回响应头。、Mono执行请求并将响应体解码为所声明的类型。、Flux执行请求并将响应体解码为所声明类型的数据流。ResponseEntity、MonoResponseEntity执行请求丢弃响应体并返回一个包含状态和响应头的 ResponseEntity。ResponseEntity、MonoResponseEntity执行请求并返回一个包含状态、响应头和解码后的响应体 ResponseEntity。 MonoResponseEntityFlux执行请求并返回一个包含状态、响应头和解码后的响应体 ResponseEntity。 1.2 实例 1.2.1 安装Gsonformat 使用方式: 建好实体类以后, 在类中右键generate - Gsonformat , 然后复制JSON进去即可 1.2.2 需求 需求: 访问 https://jsonplaceholder.typicode.com/ 提供的 todos 服务。 并基于 RESTful 风格添加新的 todo修改 todo 中的 title查询某个 todo。 简单来说, 以往都是我们的电脑充当服务器, 自己编写后端代码, 然后自己在网页模拟发送请求来调用后端服务. 现在我们直接使用在后端中发送请求, 远程调用别人的服务(CRUD数据), 由他人提供服务器. 一个最大的区别就是将解析地址的操作搬到了service层 直接在浏览器中访问该网址, 可以看到里面有许多JSON数据, 每一个都是一个todo, 现在的目标就是操作这些todo. 1.2.3 添加依赖 多添加一个依赖Reactive Web, 以使用WebClient(HttpExchange就封装了WebClient) 1.2.4 实体类 package com.sunsplanter.httpserivce.pojo;import lombok.Data;/*** 根据 https://jsonplaceholder.typicode.com/todos/1 的结构创建的*/ Data public class Todo {private Integer userId;private int id;private String title;private boolean completed;}1.2.5 声明服务接口 //将controller层的工作搬到了服务层 public interface TodoService {//一个方法就是一个远程服务(远程调用)GetExchange(/todos/{id})Todo getTodoById(PathVariable Integer id);PostExchange(value /todos,accept MediaType.APPLICATION_JSON_VALUE)Todo createTodo(RequestBody Todo newTodo);PutExchange(/todos/{id})ResponseEntityTodo modifyTodo(PathVariable Integer id,RequestBody Todotodo);PatchExchange(/todos/{id})HttpHeaders pathRequest(PathVariable Integer id, RequestParam String title);DeleteExchange(/todos/{id})void removeTodo(PathVariable Integer id); }1.2.6 创建 HTTP 服务代理对象 package com.sunsplanter.httpserivce.config;Configuration(proxyBeanMethods false) public class HTTPConfig {//每个实体类都要创建一个代理对象Beanpublic TodoService requestService(){//创建服务接口的代理对象,基于WebClientWebClient webClient WebClient.builder().baseUrl(https://jsonplaceholder.typicode.com/).build();HttpServiceProxyFactory proxyFactory HttpServiceProxyFactory.builder(WebClientAdapter.forClient(webClient)).build();return proxyFactory.createClient(TodoService.class);} }1.2.7 单元测试 package com.sunsplanter.httpserivce;SpringBootTest class HttpServiceApplicationTests {Resourceprivate TodoService requestService;Testvoid testQuery() {Todo todo requestService.getTodoById(1);System.out.println(todo todo);}Testvoid testCreateTodo() {Todo todo new Todo();todo.setId(1001);todo.setCompleted(true);todo.setTitle(录制视频);todo.setUserId(5001);Todo save requestService.createTodo(todo);System.out.println(save);}Testvoid testModifyTitle() { //org.springframework.http.HttpHeadersHttpHeaders entries requestService.pathRequest(5, homework);entries.forEach((name, vals) - {System.out.println(name);vals.forEach(System.out::println);System.out.println();});}Testvoid testModifyTodo() {Todo todo new Todo();todo.setCompleted(true);todo.setTitle(录制视频!!!);todo.setUserId(5002);ResponseEntityTodo result requestService.modifyTodo(2, todo);HttpStatusCode statusCode result.getStatusCode();HttpHeaders headers result.getHeaders();Todo modifyTodo result.getBody();System.out.println(statusCode statusCode);System.out.println(headers headers);System.out.println(modifyTodo modifyTodo);}Testvoid testRemove() {requestService.removeTodo(2);} } 但是,没有搞太清楚原理. 例如: 为什么在接口中是用Get方法?为什么是路径传参?是https://jsonplaceholder.typicode.com/todos那边规定的吗? 尝试更改为param传参失败. GetExchange(/todos/{id})Todo getTodoById(PathVariable Integer id);
http://www.w-s-a.com/news/306770/

相关文章:

  • 网站设配色个人主页介绍文案
  • 网站seo相关设置优化网站建设的好处
  • 上海市建设工程安全生产协会网站郴州网站设计公司
  • 网站大型网页游戏自己搭建服务器做视频网站
  • 建立网站企业wordpress用户名密码破解
  • 网站管理助手建站教程国外网站做acm题目比较好
  • 网站开发框架排行专业网页制作服务商
  • 企业网站建设入账政务网站建设信息
  • 网络平台建设是什么江门排名优化怎么做
  • 响应式旅游网站模板下载网址做
  • 个人做网站名称可以随意更改吗惠州网站推广排名
  • 自己建设一个网站步骤网站认证怎么认证
  • 深圳建站公司开发费用沧州手机建站哪家好
  • 兰州网站设计公司排名百度怎么发布短视频
  • 大连模板开发建站泰州网站建设策划方案
  • 厦门好的网站设计局域网内建网站
  • 关键词那种网站正版网页游戏平台排行榜
  • 网站自助建设平台创建网址快捷方式
  • 坑梓网站建设包括哪些成都网站建设优创
  • 重庆网站seo公司哪家好超级优化大师
  • 成都网站建设推广详情邵阳市住房和城乡建设局网站
  • 淄博网站推广猎头公司有哪些
  • 局域网内建立网站90设计网怎么样
  • 域名备案和网站备案有什么不同工程项目建设网站
  • 做网站难吗?wordpress评论qq
  • 权威网站优化价格电子商务静态网站建设实验报告
  • 公司如何办网站北京网站建设公司内江
  • 六安建设网站企业营业执照查询系统入口
  • a5网站建设如果建设淘宝导购网站
  • html5响应式网站开发教程在国内做跨境电商怎么上外国网站