SpringBoot服务访问路径动态处理方式
作者:祥灬子
这篇文章主要介绍了SpringBoot服务访问路径动态处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
SpringBoot服务访问路径动态处理
@RestController public class MainController { @RequestMapping(value = "/echo/{message}", method = RequestMethod.GET) public String echo(@PathVariable("message") String msg) { return "【ECHO】" + msg; } }
注意:
message是前台传过来的动态参数,通过@PathVariable注解将message注入形参msg,然后可在方法里做灵活业务处理。
SpringBoot访问路径问题
路径重复问题
如果配置了context-path
server.servlet.context-path=/mmrlc
同时在某个Controller类上也标记了请求URI
@RequestMapping("/mmrlc") public class MigrationController {
则会造成路径重复;
请求路径则变成了 http://localhost:8080/mmrlc/mmrlc/**
"/"问题
@RequestMapping("/mmrlc") public class MigrationController {
与
@RequestMapping("/mmrlc/") public class MigrationController {
访问路径不同
前者的默认访问路径为 http://localhost:8080/mmrlc
后者的默认访问路径为 http://localhost:8080/mmrlc/
最后一定要加“/” ,否则404 Not Found
RequestMapping问题
所有的控制器方法都要标注@RequestMapping注解
@Controller @RequestMapping("/mmrlc") public class MigrationController { @RequestMapping public ModelAndView demo(){ ModelAndView mv = new ModelAndView(); mv.addObject("username","xiaobai"); mv.setViewName("index"); return mv; }
demo方法没有设置特定路径,但也要标注@RequestMapping,否则ioc容器无法访问
<input src=“…”> 问题
使用SpringBoot时,模板文件index.html位于templates文件夹下
vue.js位于 static文件下的js文件夹中
浏览器会按照src路径发送请求寻找vue.js,所以src路径中不写static,同时注意请求路径避免和
@RequestMapping(“/{name1}/{name2}”) 重复
如果出现vue.js not found, 可以按路径在浏览器地址栏中请求一下,从而寻找原因
<script type="text/javascript" src="../js/vue.js"></script>
icon问题
icon图标应该放置在static目录下,名称为favicon.ico;同时要在html页面中引入才能生效
<head> <meta charset="utf-8"> <link href="favicon.ico" rel="external nofollow" rel="shortcut icon" type="image/x-icon" /> </head>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。