hawcat
文章20
标签28
分类8

文章分类

文章归档

Springboot - Controller学习

Springboot - Controller学习

它是什么

Controller是SpringBoot的基本组件,也是MVC结构的组成部分,其作用是将用户提交来的请求通过URL匹配,分发给不同的接收器(具体的Controller),该接收器会对其进行相应处理,然后返回处理结果。

注解

Springboot提供了@Controller和@RestController两种注解标识此类负责接收和处理的Http请求

如果请求的是页面和数据,使用@Controller注解即可;如果仅仅请求数据,可以使用@RestController注解
QQ图片20230114150204.png

Controller用法

代码中返回了字符串和URL中的部分参数

1
2
3
4
5
6
7
8
9
10
11
12
13
@Controller
public class HelloController {

//http://www.hawcat.cn/hello
// 参数接收 http://www.hawcat.cn/hello?nickname=zhangsan&phone=123
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String Hello(String nickname, String phone) {
System.out.println(phone);
return "Hello," + nickname + phone;
}
}


RestController用法

@RestController注解会将返回的对象数据转换为Json格式

1
2
3
4
5
6
7
8
9
10
11
12
13
@RestController
public class HelloController {

//http://www.hawcat.cn/hello
// 参数接收 http://www.hawcat.cn/hello?nickname=zhangsan&phone=123
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String Hello(String nickname, String phone) {
System.out.println(phone);
return "Hello," + nickname + phone;
}
}


路由映射

@GetMapping : 处理Get请求,获取资源。
@PostMapping:处理Post请求,新增资源。
@PutMapping:处理PUT请求,更新资源。
@DeleteMapping:处理Delete请求,删除资源。
@PatchMapping:处理Patch请求,更新部分资源。
在前后端分离的项目中常用的可能就是前两种吧
也可以使用RequestMapping然后在参数里面填写对应方法实现上述相同功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@RestController
public class UserController {
@ApiOperation("获取用户") //Swagger备注
@GetMapping("/user/{id}")
public String getUserById(@PathVariable int id){
System.out.println(id);
return "根据ID获取用户信息";

}
@PostMapping("/user")
public String save(User user){
return "添加用户";
}

@PutMapping("/user")
public String update(User user){
return "更新用户";
}

@DeleteMapping("/user/{id}")
public String deleteById(@PathVariable int id){
System.out.println(id);
return "根据ID删除用户";
}
}

:D 获取中...

本文作者:hawcat
本文链接:https://hawcat.cn/2023/01/14/Spring1/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
×