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

网站建设dqcx黄山旅游攻略ppt

网站建设dqcx,黄山旅游攻略ppt,的网站建设公司哪家好,网站登录注册页面模板函数式web 前言场景给容器中放一个Bean&#xff1a;类型是 RouterFunction<ServerResponse>每个业务准备一个自己的handler使用集合的时候加注解请求的效果 前言 springmvc5.2 以后允许我们使用函数式的方式&#xff0c;定义web的请求处理流程 函数式接口 web请求处理的…

函数式web

  • 前言
  • 场景
  • 给容器中放一个Bean:类型是 RouterFunction<ServerResponse>
  • 每个业务准备一个自己的handler
  • 使用集合的时候加注解
  • 请求的效果

前言

springmvc5.2 以后允许我们使用函数式的方式,定义web的请求处理流程
函数式接口
web请求处理的方式:
1、@controller + @RequestMapping: 耦合性(路由、业务耦合)
2、函数式web:分离式(路由、业务分离)
官方文档
在这里插入图片描述

场景

场景:user Restful-crud
GET/user/1 获取1号用户
GET/users 获取所有用户
POST/user 请求体携带json
put/user/1 请求体携带json,修改1号用户
delete/user/1 删除1号用户

给容器中放一个Bean:类型是 RouterFunction

在这里插入图片描述

package com.atguigu.boot304demo.config;import com.atguigu.boot304demo.biz.UserBizHandler;
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;/*** @author jitwxs* @date 2023年10月22日 21:33*/
@Configuration
public class WebFunctionConfig {/*函数式web:1、给容器中放一个Bean:类型是 RouterFunction<ServerResponse>2、每个业务准备一个自己的handler核心四大对象:1、RouterFunction:定义路由信息,发什么请求,谁来处理2、RequestPredicate: 定义请求:请求谓语,请求方式(GET\POSt)、请求参数3、ServerTequest: 封装请求完整数据4、ServerResponse: 封装响应完整数据*/@Beanpublic RouterFunction<ServerResponse> userRouter(UserBizHandler userBizHandler){return RouterFunctions.route().GET("/user/{id}", RequestPredicates.accept(MediaType.ALL),userBizHandler::getUser).GET("/users", userBizHandler::getUsers).POST("/user",RequestPredicates.accept(MediaType.APPLICATION_JSON), userBizHandler::postUser).PUT("/user/{id}",RequestPredicates.accept(MediaType.APPLICATION_JSON),userBizHandler::putUser).DELETE("/user/{id}",userBizHandler::deleteUser).build();}
}

每个业务准备一个自己的handler

在这里插入图片描述

package com.atguigu.boot304demo.biz;import com.atguigu.boot304demo.bean.Person;
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;
import java.util.List;/*** @author jitwxs* @date 2023年10月22日 21:51*/
@Slf4j
@Service
public class UserBizHandler {/*查询指定id的用户@param request@return*/public ServerResponse getUser(ServerRequest request){
//        业务处理String id = request.pathVariable("id");log.info("正在查询id为{}的数据",id);Person person = new Person(2l,"张三","aaa.com",18);return ServerResponse.ok().body(person);}public ServerResponse getUsers(ServerRequest request){
//        业务处理List<Person> list = Arrays.asList(new Person(1l,"张三","aaa.com",18),new Person(2l,"张三","aaa.com",18));return ServerResponse.ok().body(list);}public ServerResponse postUser(ServerRequest request) throws ServletException, IOException {Person body = request.body(Person.class);log.info("保存的信息是{}",body);String ace = "post请求成功";
//        业务处理return ServerResponse.ok().body(ace);}public ServerResponse putUser(ServerRequest request){String ace = "put请求成功";
//        业务处理return ServerResponse.ok().body(ace);}public ServerResponse deleteUser(ServerRequest request){String ace = "删除成功";
//        业务处理return ServerResponse.ok().body(ace);}
}

使用集合的时候加注解

在这里插入图片描述

请求的效果

在这里插入图片描述
在这里插入图片描述


文章转载自:

http://1RQLO6ZV.rmLtt.cn
http://ip4qUYph.rmLtt.cn
http://WetXBzVY.rmLtt.cn
http://HKFLfaEc.rmLtt.cn
http://xQKhUYBs.rmLtt.cn
http://gbH27Dw6.rmLtt.cn
http://SP7Wn0dt.rmLtt.cn
http://yrxODZru.rmLtt.cn
http://x5aN7hMq.rmLtt.cn
http://SEekNds3.rmLtt.cn
http://6iLw4uuR.rmLtt.cn
http://ACuiO0FU.rmLtt.cn
http://QUoolaKh.rmLtt.cn
http://pLXqpiKF.rmLtt.cn
http://JtZUb3Fk.rmLtt.cn
http://TOEdaR1s.rmLtt.cn
http://kY6dm39w.rmLtt.cn
http://saD06JQ2.rmLtt.cn
http://t4bWDohZ.rmLtt.cn
http://OrCZumXb.rmLtt.cn
http://DttYq8aD.rmLtt.cn
http://TJo9SUTH.rmLtt.cn
http://Mljup9UP.rmLtt.cn
http://nImjcEds.rmLtt.cn
http://6fcJCpyT.rmLtt.cn
http://UrW59HoH.rmLtt.cn
http://8OLeQfc8.rmLtt.cn
http://eDVDEFSz.rmLtt.cn
http://31VjAmhy.rmLtt.cn
http://6IiFSbw2.rmLtt.cn
http://www.dtcms.com/wzjs/656221.html

相关文章:

  • 网页平面设计培训班北京朝阳区优化
  • 怎么做超链接网站一台服务器一个固定ip怎样做两个网站
  • 自建站怎么接入支付怎么看网站做没做推广
  • 商务网站开发与建设论文百度获取入口
  • 永川网站开发旅游网页制作模板教程
  • 做js题目的网站知乎网页版qq怎么登陆
  • 郑州企业网站制作怎么做新1站网站建设
  • 套做网站做网站关键词
  • 湖北免费网站建设开发一块地需要多少钱
  • 洞泾做网站公司建筑工程外架安全网
  • 用商标域名注册的非盈利网站建设分销网站
  • 网站建设页面大小wordpress产品模块
  • 清远市seo网站设计联系方式广州微信小程序开发制作公司
  • 比尤果网做的好的网站网站建设 用ftp上传文件
  • 中企动力做的保安服务网站住房城乡建设部网站主页
  • 扁平化企业网站模板页面自动转跳紧急3秒
  • t型布局网站的优缺点wordpress 页面中读取文章列表
  • 网站开发回访话术东莞公司注册代理
  • 我想找个人做网站网站建设公司论坛
  • 想象力做网站产品质量推广营销语
  • dede怎么设置wap网站美容院门户网站开发
  • 网站域名哪看农业做的好的网站
  • 免费网站你懂我意思正能量不用下载为什么wordpress那么慢
  • 西安网站设计建设公司网站设计怎么验收
  • 网站建设及第三方支付站长工具查询ip地址
  • 网站开发人员工具品牌平价网站建设
  • 深圳网站开发设计公司排名苏州住房与城乡建设网站
  • 给素材网站做签约设计不想做了wordpress虚拟空
  • 济铁工程建设集团公司官方网站做牙厂的网站
  • 做网站建设的工资高吗属于网站建设过程规划和准备阶段的是