第四章 Spring Boot快速⼊⻔ —— Spring Boot中的MVC支持
前言:
Spring Boot 的 MVC 支持主要来介绍实际项目中最常用的几个注解,包括 `@RestController`、 `@RequestMapping`、`@PathVariable`、`@RequestParam` 以及 `@RequestBody`。主要介绍这几个注解常用的使用方式和特点。
一:@RestController:
结合了@Controller和@ResponseBody注解的功能,用于创建RESTful风格的Web服务。当使用@RestController注解时,控制器的方法默认会以JSON格式返回数据。
代码演示:
@RestController
public class RequestController {
@RequestMapping("/restController")
public String test() {
return "RestController注解测试";
}
}
二:@RequestMapping
用于处理请求地址映射的注解,可以指定请求的实际地址、请求方式(如GET、POST等)以及响应的内容类型(如application/json)。此外,Spring Boot还提供了@GetMapping、@PostMapping、@PutMapping和@DeleteMapping等简化注解,分别对应不同的HTTP请求方式。
1.@GetMapping
用于处理 HTTP GET 请求的注解,通常用于查询数据
代码演示:
@RestController
public class RequestController {
@GetMapping("/get")
public String get() {
return "GetMapping注解,GET 请求的注解,通常用于查询数据";
}
}
2.@PostMapping
用于处理 HTTP POST 请求的注解,通常用于保存数据
代码演示:
@RestController
public class RequestController {
@PostMapping("/post")
public String post() {
return "PostMapping注解,POST 请求的注解,通常用于保存数据";
}
}
3.@PutMapping
用于处理 HTTP PUT 请求的注解,它通常用于更新数据。
代码演示:
@RestController
public class RequestController {
@PutMapping("/put")
public String put() {
return "PutMapping注解, PUT 请求的注解,它通常用于更新数据";
}
}
4.@DeleteMapping
用于处理 HTTP DELETE请求的注解,它通常用于删除数据。
代码演示:
@RestController
public class RequestController {
@DeleteMapping("/del")
public String del() {
return "DeleteMapping注解,DELETE请求的注解,它通常用于删除数据。";
}
}
三:@PathVariable
用于从URL模板中获取参数值,支持RESTful风格的URL设计。
@RestController
public class RequestController {
@DeleteMapping("/del/{id}")
public String del(@PathVariable("id") Integer id) {
return "请求参数PathVariable注解,PathVariable。" + id;
}
}
例如当访问 http://localhost:8080/del/1
,id参数的值 1 将被自动绑定到 del方法的 id参数上,并且方法将返回这个值。
四:@RequestParam
用于从request中获取请求参数,支持GET和POST请求的参数绑定。
代码示例:
@RestController
public class RequestController {
@GetMapping("/param")
public String param(@RequestParam(value = "name") String name) {
return name;
}
}
例如当访问 http://localhost:8080/simple?name=JohnDoe
时,name
参数的值 "JohnDoe" 将被自动绑定到 simple
方法的 name
参数上,并且方法将返回这个值。
五:@RequestBody
`@RequestBody` 注解用于接收前端传来的实体,接收参数也是对应的实体,比如前端通过 json 提交传来两个参数 username 和 password,此时我们需要在后端封装一个实体来接收。在传递的参数比较多的情况下,使用 `@RequestBody` 接收会非常方便。
代码示例:
class User {
private String username;
private String password;
// set get
}
@RestController
public class RequestController {
@PostMapping("/user")
public String testRequestBody(@RequestBody User user) {
System.out.println("获取到的username为:" + user.getUsername());
System.out.println("获取到的password为:" + user.getPassword());
return "success";
}
}
`@RequestBody` 注解用于 POST 请求上,接收 json 实体参数。它和上面我们介绍的表单提交有点类似,只不过参数的格式不同,一个是 json 实体,一个是表单提交。在实际项目中根据具体场景和需要使用对应的注解即可。
总结:
本节课主要讲解了 Spring Boot 中对 MVC 的支持,分析了 `@RestController`、 `@RequestMapping`、`@PathVariable`、 `@RequestParam` 和 `@RequestBody` 四个注解的使用方式,由于 `@RestController` 中集成了 `@ResponseBody` 所以对返回 json 的注解不再赘述。以上四个注解是使用频率很高的注解,在所有的实际项目中基本都会遇到,要熟练掌握。
原文地址:https://blog.csdn.net/Qzhangww/article/details/143898270
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!