Spring Boot学习笔记(九)@Controller 注解的简单使用
程序员文章站
2022-06-17 12:38:08
...
需要一点Ajax或者Axios可以更好的理解此篇文章
我们创建了Spring boot 的web项目之后,就需要用@Controller,
直接上代码:
一、示例代码,快速上手
@Controller
public class HelloWorldController {
// 请求的映射地址
@RequestMapping("/helloWorld")
// @ResponseBody注释 会将 返回的东西会直接放入body中
@ResponseBody
public String helloWorld() {
return "hello SpringBoot world";
}
}
@Controller:标识此为接口类
@RequestMapping("/helloWorld"):标记路径为helloWorld
在启动程序后,我们向接口发出请求(在浏览器输入helloWorld)
此时会返回数据
二、想要有个统一前缀怎么办
在最外层加上RequestMapping即可,并填写path
此处的@ResponseBody表示:表示该方法的返回结果(前端将会收到的信息)直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】
@Controller
@RequestMapping(path = "/myUser")
public class HelloWorldController {
// 请求的映射地址
@RequestMapping("/helloWorld")
// @ResponseBody注释 会将 返回的东西会直接放入body中
@ResponseBody
public String helloWorld() {
return "hello SpringBoot world";
}
}
此时,我们的请求路径已经改为
三、参数接收
- @RequestParam: 注解@RequestParam接收的参数是来自requestHeader中,即请求头。
postman中,参数在此处填写
@GetMapping(path = "/findById")
@ResponseBody
public String findOne (@RequestParam Integer id) {
}
- @RequestBody:接收的参数是来自requestBody中,即请求体。
postman中,参数在此处填写。需要注意,此项注解多用于Post方法,Get方法无法将请求放入请求体中
@PostMapping(path = "/findById")
@ResponseBody
public String findOne (@RequestParam Integer id) {
}
- @PathVariable:接收请求路径中占位符的值
@GetMapping(path = "/{userId}/show")
@ResponseBody
public User getByUserId(@PathVariable("userId") Integer id) {
}