springboot学习随笔(三):Controller参数映射
接上章内容,我们看看浏览器参数如何映射到我们的Controller层
我们新建UserController和User实

User.java
package com.example.main;
import java.io.Serializable;
public class User implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = -7359143284242091031L;
    private Long id;
    private String name;
    private Integer age;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
}
UserController.java
package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import com.example.main.User; @RestController
public class UserController { @RequestMapping("/user")
public User user(Long id,String name,int age){
User user = new User();
user.setId(id);
user.setName(name);
user.setAge(18);
return user;
}
}
参数映射的方式有三种:
第一种:参数映射
@RestController
public class UserController { @RequestMapping("/user")
public User user(Long id,String name,int age){
User user = new User();
user.setId(id);
user.setName(name);
user.setAge(age);
return user;
}
}
在浏览器访问,携带参数
第二种:对象映射
@RequestMapping("/user")
    public User user(User user){
        return user;
    }
在浏览器访问,携带参数

第三种:通过ServletRequest对象
@RequestMapping("/user")
    public User user(ServletRequest request){
        Long id=Long.valueOf(request.getParameter("id"));
        String name =request.getParameter("name");
        int age =Integer.parseInt(request.getParameter("age")) ;
        User user = new User();
        user.setId(id);
        user.setName(name);
        user.setAge(age);
        return user;
    }

springboot学习随笔(三):Controller参数映射的更多相关文章
- Springboot学习02-webjars和静态资源映射规则
		
Springboot学习01-webjars和静态资源映射规则 前言 1-以前我们在IDEA中创建一个项目,添加web依赖包,我们现在是一个web应用,应该在man目录下面有一个webapp文件夹,将 ...
 - springboot学习(三)——http序列化/反序列化之HttpMessageConverter
		
以下内容,如有问题,烦请指出,谢谢! 上一篇说掉了点内容,这里补上,那就是springmvc的http的序列化/反序列化,这里简单说下如何在springboot中使用这个功能. 使用过原生netty ...
 - SpringMVC学习总结(三)——Controller接口详解(2)
		
4.5.ServletForwardingController 将接收到的请求转发到一个命名的servlet,具体示例如下: package cn.javass.chapter4.web.servle ...
 - springboot学习(三)————使用HttpMessageConverter进行http序列化和反序列化
		
以下内容,如有问题,烦请指出,谢谢! 对象的序列化/反序列化大家应该都比较熟悉:序列化就是将object转化为可以传输的二进制,反序列化就是将二进制转化为程序内部的对象.序列化/反序列化主要体现在程序 ...
 - springboot学习随笔(四):Springboot整合mybatis(含generator自动生成代码)
		
这章我们将通过springboot整合mybatis来操作数据库 以下内容分为两部分,一部分主要介绍generator自动生成代码,生成model.dao层接口.dao接口对应的sql配置文件 第一部 ...
 - SpringBoot学习(三)
		
一.单个 controller 范围的异常处理 package com.xxx.secondboot.web; import org.springframework.web.bind.annotati ...
 - springboot学习(三)——使用HttpMessageConverter进行http序列化和反序列化
		
以下内容,如有问题,烦请指出,谢谢! 对象的序列化/反序列化大家应该都比较熟悉:序列化就是将object转化为可以传输的二进制,反序列化就是将二进制转化为程序内部的对象.序列化/反序列化主要体现在程序 ...
 - springboot学习(三) springboot文件配置
		
1.简介 springboot没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特 ...
 - SpringBoot学习(三)—— springboot快速整合swagger文档
		
目录 MyBatis 简介 引入mybatis组件 代码实战 MyBatis @ 简介 优点 最大的优点是SQL语句灵活,适合调优情景,业务复杂情景 劣势 最大的劣势是不同数据库之间的迁移 引入myb ...
 
随机推荐
- MVC Model验证
			
[Required(ErrorMessage = "证件号不能为空!")] [RegularExpression(@"(^\d{18}$)|(^\d{15}$)|(^\d ...
 - bootstrap实现列的拖动
			
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...
 - spring-aop思想实践demo
			
需求: 例如我们需要有一个类中每个方法执行前都需要做一个权限校验,必须是有特定权限的账号才能完成该方法的操作. 解决方案: 1.使用父类继承方式,书写该类的父类,然后在父类中定义一个checkPri的 ...
 - HTML中引入CSS的四种常用方法及各自的缺点
			
在HTML中引入CSS的方法主要有四种,它们分别是行内式.内嵌式.链接式和导入式. 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐使用.格式如下: ...
 - C++跨平台集成websocketpp
			
之前给公司写了一个用于消息交互的服务器,移植到Linux上之后发现H5-Websocket模块经常出问题,而该模块是另一位已经离职同事编写的,所以修改和维护都存在一定的困难,索性就直接把这个模块替换掉 ...
 - dataframe基础
			
1 df[i] 其中i是0,1,2,3,... 此时选中的是dataframe的第i列 2 dataframe查看每一列是否有缺失值 temp = data.isnull().any() #列中 ...
 - return,break,continue三者区别
			
详解:http://www.cnblogs.com/yangdabao/p/6172210.html return:直接结束这个方法,后面所有代码不再执行,不管循坏外,还是循环内,全部停止,直接返回 ...
 - cellmap 基站查询 for android
			
cellmap for android 3.6.8.8.1.8 更新日期:2019年4月28日 特别声明:本软件不能进行手机定位,不能对手机号码定位,谨防被骗. 安装说明:请卸载旧版本后,重新下载安装 ...
 - 记一次nmap扫描信息收集过程
			
1.首先扫描网段内存活主机 nmap -sP 192.168.1.1-254 2.获取到存活主机后,开始进行端口扫描 nmap -p1-1000 192.168.1.66 可得到端口状态: filte ...
 - 谈谈我对 js原型链的理解
			
想要学习 “原型链” 必须要认识什么是 “原型” 和 “原型链” 先理解一下普通的继承和原型的区别,下面写一段js代码来帮助理解: var Animal = function(){ // 动物抽象类 ...
 
			
		