DebugEN
科技森
专注于Java开发~每天都会更新文章~
  1. 首页
  2. spring
  3. 正文

Spring Boot的@RequestMapping注解中加斜杠与不加斜杠的区别

2021年02月14日 1963点热度 2人点赞 0条评论 作者: kejisen

前言

对于Spring Boot的controller,相必大家已经很熟悉了,@RequestMapping可以加在类上面,也可以加在方法上面,但是对于一些比较特殊的场景,你有想过该这个注解是如何工作的吗?

示例

我举个例子,下面这段代码,我应该通过哪个url才能调用到hello1方法呢?

@RestController
@RequestMapping
public class TestController {
    @RequestMapping
    public String hello1() {
        return "hello1";
    }
}

难不成直接访问根路径 / 就可以了?

你没有猜错,我们来尝试一下:

$ curl localhost:8080/
hello1%

我稍微修改一下代码:

@RestController
@RequestMapping("a")
public class TestController {
    @RequestMapping
    public String hello1() {
        return "hello1";
    }
}

这时直接访问 localhost:8080/a 或者是 localhost:8080/a/ 都可以得到想要的结果。

我再修改代码如下所示:

@RestController
@RequestMapping("a")
public class TestController {
    @RequestMapping("/")
    public String hello1() {
        return "hello1";
    }
}

这时候 /a 路径会返回404的错误,而 /a/ 会返回hello1。原来 斜杠与不加斜杠是两个不同的路径。

但是对于根路径来说,加与不加斜杠表示相同的意思,不会像上面那样产生区别。

总结

  1. 对于方法上的@RequestMapping来说,开头加与不加斜杠是相同的。
  2. 在类上有@RequestMapping的时候,如果类上有值,那么方法上结尾有没有斜杠是有区别的
标签: java spring springboot springmvc
最后更新:2021年03月03日

kejisen

保持饥渴的专注,追求最佳的品质

点赞
< 上一篇
下一篇 >

文章评论

取消回复
最新 热点 随机
最新 热点 随机
【原创】记录一次失败的折腾——使用jkeymaster实现的按键监听 【原创】这些年我用过的IDEA插件 【原创】在windows上使用VNC远程连接linux桌面 我在RxJava使用线程池时遇到的问题 [原创文章] Swagger生成pdf格式的接口文档 [个人翻译]Java HTTP工具类的客户端证书认证 [原创] 如何从 Git 的提交历史记录中删除大文件 [翻译] 创建一个只读的Repository接口(Spring Data) [翻译] 反射的用法——用Java调用私有方法 Java 虚拟机最多可以支持多少个线程? 排查Hibernate的慢查询日志–这是查找慢查询的最简单方法 [翻译] 使用apache poi在excel文件中插入一行数据 [翻译] 在Spring 中@EntityScan与@ComponentScan注解有什么区别 [原创] 从QQ音乐网页版扒歌词的补充说明 [原创] 介绍java maven项目的多种打包方式 原创——在Java中生成随机数 将G1垃圾回收的内存使用量减少20%(翻译) [原创] java8 lambda表达式的toMap造成的空指针异常 [原创] 在Spring Boot中使用CommandLineRunner来在启动时执行代码 [转载] Kafka 节点重启失败导致数据丢失的分析排查与解决之道
中通Elasticsearch集群运维实践(二)--监控告警 [翻译] 创建一个只读的Repository接口(Spring Data) [翻译] 使用apache poi在excel文件中插入一行数据 Java 虚拟机最多可以支持多少个线程? [原创] Spring Boot使用CommandLineRunner Linux截图软件推荐-flameshot [个人翻译]Java HTTP工具类的客户端证书认证 [原创] 如何使用java(javamail)发送带附件的邮件 [转载] Kafka 节点重启失败导致数据丢失的分析排查与解决之道 原创——在Java中生成随机数 【原创】记录一次失败的折腾——使用jkeymaster实现的按键监听 排查Hibernate的慢查询日志–这是查找慢查询的最简单方法 在Java中生成随机的日期 如何设置Servlet的session超时时间 [原创] 关于Java的Base64编码 [原创] 从QQ音乐网页版扒歌词的补充说明 使用Spring RestTemplate压缩请求 [原创] spring-boot返回json或者xml格式的数据 [翻译] 在Spring 中@EntityScan与@ComponentScan注解有什么区别 [原创文章] Swagger生成pdf格式的接口文档
标签聚合
base64 maven java json spring 歌词 elasticsearch linux springboot qq音乐

COPYRIGHT © 2020 Kejisen. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS