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

网站素材wordpress小工具里的用户中心

网站素材,wordpress小工具里的用户中心,源码之家源码,发稿平台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.zqtcl.cn/news/41268/

相关文章:

  • 广州 网站建设模板常州做网站公司排名
  • 绵阳专业网站建设公司徐州库云平台
  • 做架构图简单的网站开网页多对什么要求高
  • 免费做简历网站有哪些fusionaccess免费服务器
  • 怎么搜索到自己网站广东建筑人才招聘资讯
  • 建设网站找谁成都代运营公司
  • 外包网站现在开网站做微商赚钱吗
  • 小网站推荐大企业网站制作及维护
  • 影视网站建设策划文案什么网站建设最便宜
  • 官方网站是什么意思深圳网站备案时间
  • 视频网站如何建设东莞网站推广建设
  • 临汾外贸网站建设价格免费建网站软件下载
  • 网站开发背景 目的烟台网站的建设
  • 在百度上如何上传自己的网站如何修改wordpress站
  • 两学一做 网站网站建设公司联系方式
  • 音乐外链网站网页美工怎么做
  • 做app挣钱还是网站营销型网站建设服务
  • 一台电脑如何做网站wordpress微拍源码
  • 网站建设的方法有大理网站建设网站建设
  • 淄博微网站建设天津微信网站
  • 门诊部网站建设wordpress快速插图
  • 网站dns多久刷新广州建站招聘
  • 专业做网站有哪些中国纪检监察报谁题的报名
  • 网站建设项目运作的可行性网站源码大全免费
  • 旅游网站开发的作用做网站备案不少天
  • 玉器珠宝做网站商业空间设计的特点
  • 如何在虚拟机中建设网站wordpress 后台被锁定
  • 徐州html5响应式网站建设桂林象鼻山免费吗
  • 如何实现网站建设服务南京公司网站建设平台
  • 代理网站平台省企联网站建设要求