spring6中如何不使用@RequestParam注解

@RequestParam的使用场景

@RequestParam注解可以用在GET和POST请求中,用于指定请求路径或请求体的参数,通常请求格式为表单格式

什么情况下可以不使用@RequestParam注解

当Controller方法的参数名与请求中的参数名一致时,可以不用@RequestParam注解。但在spring6中,默认情况下Java编译时,不会保留方法参数的名称。这是为了减小生成的字节码文件的大小
为了可以使用忽略@RequestParam注解的效果,这里需要加上编译选项-parameters
如下所示

xml 复制代码
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.13.0</version>
      <configuration>
        <compilerArgs>
          <arg>-parameters</arg>
        </compilerArgs>
      </configuration>
    </plugin>
  </plugins>
</build>

-parameters 是一个编译器参数,它的作用是在编译 Java 源代码时保留方法参数的名称。这对于反射和某些框架(如 Spring)非常有用,它们需要通过参数名称来进行操作。

总结

在编程时,推荐不要忽略@requestparam注解

相关推荐
Anastasiozzzz16 分钟前
深入浅出:理解控制反转 (IoC) 与 Spring 的核心实现
java·后端·spring
前路不黑暗@19 分钟前
Java项目:Java脚手架项目的 B 端用户服务(十四)
android·java·开发语言·spring boot·笔记·学习·spring cloud
亓才孓1 小时前
[SpringBoot]UnableToConnectException : Public Key Retrieval is not allowed
java·数据库·spring boot
嵌入式×边缘AI:打怪升级日志1 小时前
编写Bootloader实现下载功能
java·前端·网络
wuqingshun3141591 小时前
什么是浅拷贝,什么是深拷贝,如何实现深拷贝?
java·开发语言·jvm
Stringzhua1 小时前
队列-优先队列【Queue3】
java·数据结构·队列
ShiJiuD6668889992 小时前
Java stream流和方法引用
java·开发语言
专注前端30年3 小时前
【Java微服务架构】Spring Cloud Alibaba全家桶实战:Nacos+Sentinel+Seata+分布式事务
java·微服务·架构
苏渡苇3 小时前
轻量化AI落地:Java + Spring Boot 实现设备异常预判
java·人工智能·spring boot·后端·网络协议·tcp/ip·spring
追随者永远是胜利者3 小时前
(LeetCode-Hot100)64. 最小路径和
java·算法·leetcode·职场和发展·go