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

复制代码
 本周接着介绍本次新闻项目中遇到的一些问题。
 首先谈谈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数据。

相关推荐
rannn_1116 小时前
【力扣hot100】链表专题|160、206、234、141、142
java·算法·leetcode·链表·面试·开发
IKUN家族8 小时前
Spring IoC&DI
java·spring·rpc
山荷枝9 小时前
03-框架--Spring
java·后端·spring
ChaHae-In10 小时前
SpringBoot统一功能处理
java·spring boot·后端
coder!mq10 小时前
说几个常见的语法糖?
java·开发语言·算法
gugucoding10 小时前
38. 【Java】Stream API(下):高级操作与性能
java·开发语言
心平气和量大福大10 小时前
android-实例-蒲公英-更新与安装-5-签名与生成APK
android·java·开发语言
9523611 小时前
Spring-cloud配置中心
java·spring·spring cloud·微服务
ydd10010011 小时前
寻找两个正序数组的中位数 Java 题解,二分分割详解
java·开发语言
真上帝的左手12 小时前
10. 软件设计&架构-Spring Security 7 整合CAS SSO 单点登录
java·spring·架构·sso