【Spring Boot】控制器Controller方法

Controller

Spring Boot 的Web应用中,Controller是处理HTTP请求的入口。

核心职责

  • 接受客户端发送的HTTP请求
  • 调用 Service 层完成业务逻辑
  • 将处理结果封装后返回给客户端

MVC (Model-View-Controller)中的“C”

如何定义Controller

在 Spring Boot 中,使用注解来声明一个类是 Controller。
示例代码

@RestController
@RequestMapper("/api/members")
public class MemberController{
	// 方法
}

注解说明
@RestController 告诉Spring,这是一个用于RESTful API 的控制器,所有方法的返回值都会自动转为 JSON。
@RequestMapping 定义该控制器的公共请求前缀

Controller 方法

每个 Controller 方法,对应一个具体的HTTP接口。
基本结构

@HTTP_METHOD_MAPPING("路径")
public 返回类型 方法名(参数){
	// 1. 接收参数
	// 2. 调用 Service
	// 3. 返回结果
}

HTTP_METHOD_MAPPING
在这里插入图片描述
这些是 @RequestMapping(method = ...)的简写

路径
路径中可以用 {变量名}表示动态部分

@GetMapping("/projects/{projectId}/members")

参数的接收方式
Spring Boot 提供多种注释,自动将 HTTP 请求中的数据绑定到方法参数。
在这里插入图片描述
示例

@GetMapping("/list/{projectId}")
public Result<List<MemberVO>> list(@PathVariable Long projectId) {
    // 从 URL 路径中提取 projectId
}
@PostMapping("/create")
public Result<MemberVO> create(@RequestBody CreateMemberDTO dto) {
    // 从 JSON 请求体中解析出 dto 对象
}
@GetMapping("/search")
public Result<List<MemberVO>> search(
    @RequestParam String keyword,
    @RequestParam(defaultValue = "1") Integer page
) {
    // 从 ?keyword=xxx&page=2 中获取参数
}

返回值
@RestController中,任何返回值都会被自动转为 JSON
可以使用统一返回格式,如 Result<T>,这样前端收到的总是结构统一的JSON,便于处理。

执行流程

当发送一个HTTP请求时,Spring Boot 内部的请求为:

  1. 前端控制器接收所有请求;
  2. 根据 URL 和 HTTP 方法,查找匹配的 Controller 方法(通过 @GetMapping等注释);
  3. 解析参数;
  4. 调用方法;
  5. 返回值序列化为 JSON,写入 HTTP 响应;
  6. 返回给客户端。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值