第二十一周:项目开发中遇到的相关问题(二)

复制代码
 本周接着介绍本次新闻项目中遇到的一些问题。
 首先谈谈Controller层中的请求路径问题(@RequestMapping),@RequestMapping注解是Spring框架中用于处理HTTP请求映射的核心注解,它可以将HTTP请求映射到具体的控制器方法上。 
 1.关于它的基本作用:URL映射,将HTTP请求的路径映射到控制器的方法上。支持多种HTTP方法,默认支持所有HTTP方法(GET POST PUT DELETE等),也可以通过method属性指定特定方法。
 2.属性作用

value/path 指定请求的 URL 路径,可以是一个或多个(如 "/users"、"/api/*")。

method 指定 HTTP 方法(如 RequestMethod.GET、RequestMethod.POST)。

params 指定请求参数的条件(如 params = "id=1")。

headers 指定请求头的条件(如 headers = "Content-Type=application/json")。

consumes 指定请求的 Content-Type(如 consumes = "application/json")。

produces 指定响应的 Content-Type(如 produces = "application/json")。

3.基本URL映射

java 复制代码
    @Controller
@RequestMapping("/users")
public class UserController {

    // 处理 /users 请求(GET 方法)
    @RequestMapping(method = RequestMethod.GET)
    public String getUsers() {
        return "users";
    }

    // 处理 /users/add 请求(POST 方法)
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String addUser() {
        return "redirect:/users";
    }
}

4.注解位置

类级别:为控制器中的所有方法设置基础路径(如@RequestMapping("/api"))。

方法级别:在类级别的基础上,进一步指定具体路径(如 @GetMapping("/users"))。

5.与其他注解的混合使用

@RequestBody:用于处理JSON或XML格式的请求体。

@ResposeBody: 将方法返回值直接作为响应体(常用于RESTful接口)。

@PathVariable:绑定URL中的路径变量。

@RequestParam:绑定URL中的查询参数。

@RequestHeader:绑定请求头中的参数。

6.其他功能

1)路径匹配规则:支持Ant风格的路径(如*,**)。

2)HTTP方法限制:若不指定method,则默认支持所有请求方法。

3)参数验证:结合@Valid和BindingResult进行参数校验。

4)返回值处理:配合@ResponseBody和@RestController返回JSON数据。

相关推荐
怡人蝶梦1 小时前
Java后端技术栈问题排查实战:Spring Boot启动慢、Redis缓存击穿与Kafka消费堆积
java·jvm·redis·kafka·springboot·prometheus
瓯雅爱分享1 小时前
MES管理系统:Java+Vue,含源码与文档,实现生产过程实时监控、调度与优化,提升制造企业效能
java·mysql·vue·软件工程·源代码管理
蓝色天空的银码星1 小时前
Springcloud Alibaba自定义负载均衡详解
spring·spring cloud·负载均衡
鬼多不菜2 小时前
一篇学习CSS的笔记
java·前端·css
深色風信子2 小时前
Eclipse 插件开发 5.3 编辑器 监听输入
java·eclipse·编辑器·编辑器 监听输入·插件 监听输入
Blossom.1182 小时前
人工智能在智能健康监测中的创新应用与未来趋势
java·人工智能·深度学习·机器学习·语音识别
shangjg32 小时前
Kafka 如何保证不重复消费
java·分布式·后端·kafka
无处不在的海贼2 小时前
小明的Java面试奇遇之互联网保险系统架构与性能优化
java·面试·架构
Layux2 小时前
flowable候选人及候选人组(Candidate Users 、Candidate Groups)的应用包含拾取、归还、交接
java·数据库