springboot项目问题:打开网页出现This application has no explicit mapping for /error, so you are seeing this as a fallback.

大乌龙一个,新建一个springboot项目,遇见这个小问题

This application has no explicit mapping for /error, so you are seeing this as a fallback.

 

 

 上网查询这个错误大多数是以下三个解决方案:

缘由1:
Application启动类的位置不对.要将Application类放在最外侧,即包含全部子包
spring-boot会自动加载启动类所在包下及其子包下的全部组件
缘由2:
在springboot的配置文件:application.yml或application.properties中关于视图解析器的配置问题:
当pom文件下的spring-boot-starter-paren版本高时使用:spring.mvc.view.prefix/spring.mvc.view.suffix
当pom文件下的spring-boot-starter-paren版本低时使用::spring.view.prefix/spring.view.suffix
缘由3:
控制器的URL路径书写问题:
@RequestMapping(“xxxxxxxxxxxxxx”) ,实际访问的路径与”xxx”不符合java

 

比对之后,发现我这问题上述方案解决不了,打断点测试发现请求可以进入我写的控制类中

 

 

 检查代码发现是注释的使用问题,换成@RestController或者再加一个@ResponseBody都可解决上述问题

@Controller和@RestController

在springMvc中controller层类上的要使用@Controller来注明该类属于控制层,在controller层常返回的数据形式有以下几种:

  页面:静态页面

  ModelAndView:返回页面和相应数据

  json字符串:如果某个类设计初衷就是返回json字符串,那么该类就可以使用@Controller + @ResponseBody,还可以使@RestCotroller简化书写

@RestController源码

 

 

 从上面的源码中可以清晰的看到@RestController = @Controller + @ResponseBody

使用@Controller修饰类,可以根据需要返回各种我们所需的数据(json(方法上使用@ResponseBod),ModelAndView,静态页面),而使用RestController修饰类,最后返回结果都会被解析成json字符串,适合所有的方法返回值都是json数据

借鉴链接:https://www.cnblogs.com/shisanye/p/14285121.html

posted @ 2022-05-07 15:00  锦瑟流年3344  阅读(3365)  评论(0编辑  收藏  举报