访问路径问题
http://localhost/a
http://localhost/a/
有什么不同
有以下三个类
c1
@RestController
@RequestMapping("/a/")
public class Test1Controller {
@RequestMapping(value = "",method = RequestMethod.GET)
public String test(){
return "/a/";
}
}
c2
@RestController
@RequestMapping("a")
public class Test2Controller {
@RequestMapping(value = "",method = RequestMethod.GET)
public String test(){
return "a";
}
}
c3
@RestController
@RequestMapping("/a")
public class Test3Controller {
@RequestMapping(value = "",method = RequestMethod.GET)
public String test(){
return "/a";
}
}
c1 和 c2 能同时存在
c1 和 c3 能同时存在
c2 和 c3 不能同时存在 ,to {[/a],methods=[GET]}: There is already ‘test2Controller’ bean method
说明c2 和c3 是一样的作用,即路径最前面会默认添加斜线的,后面的斜线是路径的一部分,即 http://127.0.0.1/a 和 http://127.0.0.1/a/ 是不一样的
有什么办法让三者同时存在 ?
如下:
@RestController
@RequestMapping("/")
public class Test4Controller {
@RequestMapping(value = {"/a","/a/","a"},method = RequestMethod.GET)
public String test(){
return "都实现了";
}
}