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

手机网站首页布局设计百度商桥怎么接网站

手机网站首页布局设计,百度商桥怎么接网站,淘宝联盟做返利网站,视频直播系统前言 本节内容我们主要介绍一下web访问的另一种形式#xff0c;通过函数式web实现一个restful风格的http请求案例。函数式web是spring5.2之后的一个新特性#xff0c;可以通过函数去定义web请求的处理流程#xff0c;使得代码更为简洁#xff0c;耦合性也降低了。 正文 …前言 本节内容我们主要介绍一下web访问的另一种形式通过函数式web实现一个restful风格的http请求案例。函数式web是spring5.2之后的一个新特性可以通过函数去定义web请求的处理流程使得代码更为简洁耦合性也降低了。 正文 函数式web的四大核心对象 - RouterFunction定义路由信息 - RequestPredicates定义请求规则包括请求参数、请求方式等 - ServerRequest封装请求参数 - ServerResponse封装响应参数 定义一个函数式web的路由组件WebFunctionConfig配置类 - 实现代码 package com.yundi.isbc.config;import com.yundi.isbc.handler.PersonHandlerService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.MediaType; import org.springframework.web.servlet.function.RequestPredicates; import org.springframework.web.servlet.function.RouterFunction; import org.springframework.web.servlet.function.RouterFunctions; import org.springframework.web.servlet.function.ServerResponse;Configuration public class WebFunctionConfig {/*** 用户信息管理** param personHandlerService* return*/Beanpublic RouterFunctionServerResponse personRouter(PersonHandlerService personHandlerService) {RouterFunctionServerResponse personRouterFunction RouterFunctions.route().GET(/person/{id}, RequestPredicates.accept(MediaType.ALL), personHandlerService::getPerson).GET(/persons, personHandlerService::getPersons).POST(/person, RequestPredicates.accept(MediaType.APPLICATION_JSON), personHandlerService::savePerson).PUT(/person, RequestPredicates.accept(MediaType.APPLICATION_JSON), personHandlerService::updatePerson).DELETE(/person/{id}, personHandlerService::deletePerson).build();return personRouterFunction;}}- 在该类中实现了restful风格的请求完成用户管理功能的开发 用户person对象的实体类 - 用户Person类 package com.yundi.isbc.entity;import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import lombok.Data; import lombok.experimental.Accessors;import java.util.ArrayList; import java.util.List;Accessors(chain true) Data public class Person {/*** id*/private String id;/*** 名称*/private String name;/*** 年龄*/private Integer age;/*** 手机号*/private String phone;/*** 住址*/private ListAddress addresses new ArrayList(); }- 用户地址类 package com.yundi.isbc.entity;import lombok.Data; import lombok.experimental.Accessors;Accessors(chain true) Data public class Address {/*** 地址名称*/private String addressName; }定义业务实现接口PersonHandlerService  - 实现代码 package com.yundi.isbc.handler;import jakarta.servlet.ServletException; import org.springframework.web.servlet.function.ServerRequest; import org.springframework.web.servlet.function.ServerResponse;import java.io.IOException;public interface PersonHandlerService {/*** 根据id获取用户信息** param serverRequest* return*/ServerResponse getPerson(ServerRequest serverRequest);/*** 获取全部用户* param serverRequest* return*/ServerResponse getPersons(ServerRequest serverRequest);/*** 保存用户* param serverRequest* return*/ServerResponse savePerson(ServerRequest serverRequest) throws ServletException, IOException;/*** 更新用户信息* param serverRequest* return*/ServerResponse updatePerson(ServerRequest serverRequest) throws ServletException, IOException;/*** 删除用户* param serverRequest* return*/ServerResponse deletePerson(ServerRequest serverRequest); }- 定义各功能业务实现接口方法 定义业务实现类PersonHandlerServiceImpl - 实现代码 package com.yundi.isbc.handler.impl;import com.yundi.isbc.entity.Address; import com.yundi.isbc.entity.Person; import com.yundi.isbc.handler.PersonHandlerService; import jakarta.servlet.ServletException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.web.servlet.function.ServerRequest; import org.springframework.web.servlet.function.ServerResponse;import java.io.IOException; import java.util.Arrays;Slf4j Service public class PersonHandlerServiceImpl implements PersonHandlerService {Overridepublic ServerResponse getPerson(ServerRequest serverRequest) {log.info(获取用户信息);String id serverRequest.pathVariable(id);log.info(用户id:{}, id);return ServerResponse.ok().body(new Person().setId(1).setName(xiaoming).setAge(18).setPhone(18288474612).setAddresses(Arrays.asList(new Address().setAddressName(北京市朝阳区))));}Overridepublic ServerResponse getPersons(ServerRequest serverRequest) {log.info(获取全部用户信息);return ServerResponse.ok().body(Arrays.asList(new Person().setId(1).setName(xiaoming).setAge(18).setPhone(18288474612).setAddresses(Arrays.asList(new Address().setAddressName(北京市朝阳区)))));}Overridepublic ServerResponse savePerson(ServerRequest serverRequest) throws ServletException, IOException {log.info(保存用户信息);Person person serverRequest.body(Person.class);log.info(用户信息{}, person);return ServerResponse.ok().build();}Overridepublic ServerResponse updatePerson(ServerRequest serverRequest) throws ServletException, IOException {log.info(更新用户信息);Person person serverRequest.body(Person.class);log.info(用户信息{}, person);return ServerResponse.ok().build();}Overridepublic ServerResponse deletePerson(ServerRequest serverRequest) {log.info(删除用户信息);String id serverRequest.pathVariable(id);log.info(用户id:{}, id);return ServerResponse.ok().build();} }- 具体业务实现 启动项目访问测试 - 获取用户信息 - 获取用户全部信息 -  保存用户信息  - 更新用户信息  - 删除用户信息 结语 关于web新特性之函数式实现的相关内容到这里就结束了我们下期见。。。。。。
http://www.pierceye.com/news/424774/

相关文章:

  • 滨海做网站公司网页设计模板 中文
  • 辽源市网站建设怎么学做电商
  • 做pc端网站行情网站标签化
  • 中国做的很好的食品网站php图片网站源码
  • 做自媒体小视屏哪个网站好邹平网站建设公司
  • 字体样式 网站layui 网站建设模板
  • 沈阳网站设计江苏城乡建设部网站首页
  • 网站手机端生成wordpress如何下载
  • 网站数据抓取怎么做营销型网站开发定制
  • 福州营销型网站建设中国建设工程信息网站
  • 怎么在服务器里面做网站公司网站模板怎么做
  • 网站建设制作设计营销公司杭州石家庄网络公司哪家好
  • 重庆网站制作特点优势互联免费主机
  • 义乌网站制作多少钱wordpress有访客记录
  • 网站改版建议策划书百度搜索名字排名优化
  • 做药的常用网站wordpress加载js代码
  • 网站备案 通知杭州企业展厅设计公司
  • 简单个人网站开发代码广州白云区建设局网站
  • 网站空间控制面板软件做网站设计前景怎么样
  • 交流平台网站怎么做不了在家做网站编辑
  • 网站管理员登陆不了免费网页上传网站
  • 关于网站建设的英文歌外网设计素材网站
  • 中山比好的做网站的公司扫二维码直接进网站怎么做
  • 上海互联网网站建设东莞系统网站建设
  • 系部网站建设创新点外贸平台网站的营销方式
  • 做网站不给源代码吉林省招标网官方网站
  • 设计公司网站需要什么条件韩国能否出线
  • 做网站每个月可以赚多少钱公司注册网上怎么申请核名
  • 网站做防伪查询代码高校网站建设意义
  • 网站建设个人年终总结电子商务网站开发主要有哪些