欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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)
Spring Boot学习笔记(九)@Controller 注解的简单使用
此时会返回数据
Spring Boot学习笔记(九)@Controller 注解的简单使用

二、想要有个统一前缀怎么办

在最外层加上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";
    }
}

此时,我们的请求路径已经改为
Spring Boot学习笔记(九)@Controller 注解的简单使用

三、参数接收

  1. @RequestParam: 注解@RequestParam接收的参数是来自requestHeader中,即请求头。
    postman中,参数在此处填写
    Spring Boot学习笔记(九)@Controller 注解的简单使用
    @GetMapping(path = "/findById")
    @ResponseBody
    public String findOne (@RequestParam Integer id) {
     
    }
  1. @RequestBody:接收的参数是来自requestBody中,即请求体。
    postman中,参数在此处填写。需要注意,此项注解多用于Post方法,Get方法无法将请求放入请求体中
    Spring Boot学习笔记(九)@Controller 注解的简单使用
    @PostMapping(path = "/findById")
    @ResponseBody
    public String findOne (@RequestParam Integer id) {
        
    }
  1. @PathVariable:接收请求路径中占位符的值
    @GetMapping(path = "/{userId}/show")
    @ResponseBody
    public User getByUserId(@PathVariable("userId") Integer id) {

    }