• 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

  • 相关阅读:
    MySQL与PostgreSQL对比
    Elastic Job3.0
    Nacos Config动态刷新值
    clickhouse数据类型
    字符串和整数之间的转换
    STL之优先队列 priority_queue
    c++智能指针
    springcloud gateway: discovery: locator: enabled: true 解释
    工具资源下载链接 webstorm
    技术链接汇总
  • 原文地址:https://www.cnblogs.com/jinseliunian/p/16242611.html
Copyright © 2020-2023  润新知