精弘网络 Java 后端微课 - EP1 控制器的编写和数据绑定
353 字
2 分钟
精弘网络 Java 后端微课 - EP1 控制器的编写和数据绑定
新建工程
若无法连接到官方 Spring Initializr,可更换到国内站点 https://start.springboot.io/
- Spring Web
- Spring Validation
- MySQL Driver
- Lombok
<maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><parameters>true</parameters><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>编写一个控制器
什么是“控制器”(Controller)
在 Spring Boot 中,控制器是处理用户请求的入口。
你可以把它想象成一个网站或接口的“接待员”: 👉 用户发来请求,控制器接收、处理,然后返回响应。
@RestController 是什么
@RestController = @Controller + @ResponseBody用来告诉 Spring 这个类是一个控制器(用来接收 Web 请求),并且返回的是 JSON 数据(而不是 HTML 页面)
@RequestMapping 是什么
告诉 Spring,这个类负责处理哪个 URL 请求
常用方法:加在类上,定义“公共前缀”
数据绑定
Query 参数绑定
@GetMapping("/get")public String get(@RequestParam("name") String name) { return name;}路径参数绑定
@GetMapping("/get/{name}")public String get(@PathVariable("name") String name) { return name;}绑定 Query 或表单到对象
@Datapublic class User { private String name; private Integer age;}
@GetMapping("/get")public String get(User user) { return user.toString();}绑定 JSON 到对象
@Datapublic class User { @JsonProperty("first_name") private String firstName; private Integer age;}
@PostMapping("/post")public String post(@RequestBody User user) { return user.toString();}参数校验
@NotNull、@NotEmpty、@NotBlank
@Size、@Email
@Min、@Max统一 JSON 响应体
@Data@AllArgsConstructorpublic class AjaxResult<T> { public static final String SUCCESS_MSG = "OK"; private Integer code; private String msg; private T data;
public static <N> AjaxResult<N> success() { return new AjaxResult<>(HttpStatus.OK.value(), SUCCESS_MSG, null); }
public static <N> AjaxResult<N> success(N data) { return new AjaxResult<>(HttpStatus.OK.value(), SUCCESS_MSG, data); }
public static <N> AjaxResult<N> fail(Integer code, String msg) { return new AjaxResult<>(code, msg, null); }}文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
精弘网络 Java 后端微课 - EP1 控制器的编写和数据绑定
https://blog.sugarmgp.cn/posts/summer-lessons-ep1/ 相关文章 智能推荐
1
精弘网络 Java 后端微课 - EP2 业务分层与数据库操作
编程笔记 2025-08-10
2
精弘网络 Java 后端微课 - EP3 异常捕获与日志记录
编程笔记 2025-08-13
3
精弘网络 Java 后端微课 - EP1.5 巧用 Lombok 简化样板代码
编程笔记 2025-08-04
4
精弘网络 Java 后端微课 - EP0 前置准备与环境搭建
编程笔记 2025-08-04
5
Cube 开发踩坑实录(一):别样的苹果螺旋现象
实践记录 2025-09-16
随机文章 随机推荐