java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot服务访问路径动态处理

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>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文