目录
????????设置请求映射规则@RequestMapping
? 前端作为客户端向后端发送请求(请求可以分为请求头和请求体两部分,请求头包含了一些元数据信息,如请求方式、请求路径、请求参数等;而请求体则包含了请求的具体内容,比如表单数据、JSON数据等)。后端接收到请求后可以使用相关的注解去提取数据,并根据业务逻辑进行处理。
? 处理完成后,后端会将处理结果封装在响应体(ResponseBody)中,并将其返回给前端作为响应(Response)。
? 这种模式下,前端和后端之间通过请求和响应进行数据交互,实现了前后端的解耦。前端负责展示数据和发送请求,后端负责处理请求并生成响应数据,通过网络进行通信。这种模式可以灵活地适应各种场景和需求,使前后端开发更加高效和可维护。
? 而 @RequestMapping注解与请求-响应模式的关系在于它定义了请求的URL路径和请求方法,从而将前端的请求与后端的处理方法建立起映射关系。通过使用@RequestMapping注解,后端可以接收前端的请求并处理,可以将处理结果封装在Java对象中,然后通过@ResponseBody注解将其转换为前端需要的格式,并返回给前端作为响应。实现了请求-响应模式的具体逻辑。
? ? ?在这个注解内填上请求路径,请求方式。当符合了要求,请求就会被加了这个注解的方法或类调用。
@RestController
@RequestMapping("/test")
public class TestController {
? ?@RequestMapping(value = "/test1",method = RequestMethod.POST)
? ?public String test1(){
? ? ? ?return "test1";
? }
}
? 不过一般写在接口类的上面,然后下面的每一个方法添加其他注解即可不用写请求方式和更加规范。如下:
@PostMapping 等价于 @RequestMapping(method = RequestMethod.POST)
@GetMapping 等价于 @RequestMapping(method = RequestMethod.GET)
@PutMapping 等价于 @RequestMapping(method = RequestMethod.PUT)
@DeleteMapping 等价于 @RequestMapping(method = RequestMethod.DELETE)
一般写都是这样:
@RestController
@RequestMapping("/test")
public class TestController {
? ?@PostMapping("/test1")
? ?public String test1(){
? ? ? ?return "test1";
? }
}
常见的 HTTP 请求方式有四种:
POST
(添加)
GET
(查询)
DELETE
(删除)
PUT
(修改)
?POST
请求用于向指定资源提交数据,通常会导致服务器端的状态发生变化。
? 主要用于向服务器上传一些数据和文件。 常见就是添加用户信息,登录功能。
? 使用 POST
请求方式提交的数据会被包含在请求体中,而不像 GET
请求方式那样包含在 URL 中。
? POST 请求可以提交比 GET
更大的数据量,并且相对更安全。
@PostMapping("/login")
? ?public ResponseResult login(@RequestBody User user) {
? ? ? ?System.out.println(user.getUsername());
? ? ? ?return loginService.login(user);
? }
@PostMapping 注解用于在后端接收前端发送的数据。
? 通过使用 @PostMapping 注解,可以将前端发送的数据绑定到相应的方法参数中,登录用户数据会被绑定到 User
对象的实例 user
中,从而可以在方法中进行相关的业务逻辑处理
?GET
请求用于向指定资源发出请求,请求中包含了资源的 URL 和请求参数。服务器端通过解析请求参数来返回相应的资源,不会修改服务器端的状态。
? 使用 GET
请求方式提交的数据会被包含在 URL 中,因此易于被缓存和浏览器保存,但也因此不适合用于提交敏感数据。
? 通过 @GetMapping
注解标记的方法通常被用于响应传入的 URL 请求,并返回相应的资源或数据给前端。
@GetMapping("/user")
public User getUser(@RequestParam("id") int id) {
? ?// 根据 id 查询并返回用户信息
? ?return userService.getUser(id);
}
? 前端可以发送一个 GET 请求到 /user?id=123
来获取 id 为 123 的用户信息。注解中的 @RequestParam("id")
表示获取 URL 查询参数中名为 "id" 的值,并将其赋值给方法参数 id
。
?——————————————————————————————————————————
其他Controller类常用的注解可以这个文章的汇总:Web开发Controller类详解-CSDN博客