服务器上面建设网站,网站建立明细预计表,网站备案 固话,wordpress上传主题413#x1f600;前言 本篇博文是关于SpringBoot 在响应客户端请求时支持的复杂参数和自定义对象参数#xff0c;希望您能够喜欢#x1f60a; #x1f3e0;个人主页#xff1a;晨犀主页 #x1f9d1;个人简介#xff1a;大家好#xff0c;我是晨犀#xff0c;希望我的文章… 前言 本篇博文是关于SpringBoot 在响应客户端请求时支持的复杂参数和自定义对象参数希望您能够喜欢 个人主页晨犀主页 个人简介大家好我是晨犀希望我的文章可以帮助到大家您的满意是我的动力
欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦 文章目录 SpringBoot接收参数相关注解应用复杂参数基本介绍复杂参数应用实例代码实现测试: 自定义对象参数-自动封装基本介绍自定义对象参数-应用实例代码实现测试 SpringBoot接收参数相关注解应用
复杂参数
基本介绍
在开发中SpringBoot 在响应客户端请求时也支持复杂参数。Map、Model、Errors/BindingResult、RedirectAttributes、ServletResponse、SessionStatus、UriComponentsBuilder、ServletUriComponentsBuilder、HttpSession。Map、Model 数据会被放在request 域 底层request.setAttribute()。RedirectAttributes 重定向携带数据。
复杂参数应用实例
说明: 演示复杂参数的使用重点: Map、Model、ServletResponse
代码实现
修改com/nlc/web/controller/RequestController.java
Controller
public class RequestController {GetMapping(/login)public String login(HttpServletRequest request) {request.setAttribute(user, 顺顺~);//向request域中添加的数据request.getSession().setAttribute(website, http://www.baidu.com); //向session中添加数据return forward:/ok; //请求转发到 /ok}GetMapping(/ok)ResponseBodypublic String ok(HttpServletRequest request,SessionAttribute(value website, required false) String website,RequestAttribute(value user, required false) String username) {//获取到request域中的数据System.out.println(username- username);System.out.println(通过servlet api 获取 username- request.getAttribute(user));System.out.println(website- website);System.out.println(通过servlet api 获取 website- request.getSession().getAttribute(website));return success;}//响应一个注册请求GetMapping(/register)public String register(MapString,Object map,Model model,HttpServletResponse response) {//如果一个注册请求,会将注册数据封装到map或者model//map中的数据和model的数据会被放入到request域中map.put(user,nlc);map.put(job,java架构师);model.addAttribute(sal, 80000);//一会我们再测试response使用//我们演示创建cookie,并通过response 添加到浏览器/客户端Cookie cookie new Cookie(email, wwwmy.com);response.addCookie(cookie);//请求转发return forward:/registerOk;}ResponseBodyGetMapping(/registerOk)public String registerOk(HttpServletRequest request) {System.out.println(user- request.getAttribute(user));System.out.println(job- request.getAttribute(job));System.out.println(sal- request.getAttribute(sal));return success;}
}测试:
浏览器http://localhost:8080/register 自定义对象参数-自动封装
基本介绍
在开发中SpringBoot 在响应客户端请求时也支持自定义对象参数完成自动类型转换与格式化支持级联封装
自定义对象参数-应用实例
需求说明: 演示自定义对象参数使用完成自动封装类型转换
代码实现
创建public/save.html
!DOCTYPE html
html langen
headmeta charsetUTF-8title添加妖怪/title
/head
body
h1添加妖怪-坐骑[测试封装POJO]/h1
form action/savemonster methodpost编号 input nameid value100br/姓名 input namename value牛魔王/ br/年龄 input nameage value500/ br/婚否 input nameisMarried valuetrue/ br/生日 input namebirth value2000/11/11/ br/坐骑input namecar.name value奔驰/br/价格input namecar.price value99999.9/input typesubmit value保存/
/form
/body
/html创建com\nlc\web\bean\Car.java
ToString
Data
public class Car {private String name;private Double price;
}创建com\nlc\web\bean\Monster.java
Data
public class Monster {private Integer id;private String name;private Integer age;private Boolean isMarried;private Date birth;private Car car;
}修改com/nlc/web/controller/ParameterController.java 增加处理添加请求 PostMapping(/savemonster)public String saveMonster(Monster monster) {System.out.println(monster- monster);return success;}测试
完成测试, 浏览器http://localhost:8080/save.html 在开发过程中日期格式不用太在意我们只要保证用户界面和DB是需要的格式就够了。 文章到这里就结束了如果有什么疑问的地方请指出诸大佬们一起来评论区一起讨论 希望能和诸大佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力