Skip to content
本页目录

2、控制器

发布时间:

控制器

@Controller

请求的是页面和数据

@RestController

只请求数据 ,默认返回对象转换为JSON格式

路由映射

定义

@RequestMapping 负责URL 路由映射,可以添加在Controller类或者具体方法

添加在Controller 对所有路由添加此映射,如添加方法上只对当前方法有效

包含参数

value:请求路径支出URL模版,正则表达式 requestMapping("/user") 支持通配符

mathood:http请求方法

js
@RequestMapping(value="/hello" , method = RequestMethod.GET)
@GetMapping("/hello")//等于上一行
public String hello(){
    return "hellosss损失ssss444s";
}

  //如果用 @RequestParam 默认值不能为空 传参数nickname 对应方法中的nname ,required = false 为值可以为空
    @RequestMapping(value = "/getTest1",method = RequestMethod.GET)
    public String getTest1(@RequestParam(value = "nickname",required = false)String name){
        return "hellosss损失ssss444s";
    }
   

参数传递

1、@ RequestParam 直接绑定方法的参数,可以省略

2、可以直接用对象接收参数,但是对象中一定要有get ,set方法

js
@PostMapping("/user")
public String save(User user) {
    return "user";
}
   
js
public class User {
    private String name;
    private String pw;

    public String getPw() {
        return pw;
    }

    public void setPw(String pw) {
        this.pw = pw;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

   

添加get,set,右单击Genrate 》

3,发送参数为json类型字符串,接收参数前加@RequestBody

{
    "name":"zhang",
    "pw":"123"
}
js
@PostMapping("/user")
public String save(@RequestBody User user) {
    return "user";
}