springboot正常启动后访问不到controller层的接口

时间:2024-04-14 19:11:31

一、问题描述

下面是我的springboot项目的一个controller类,在eclipse中用springboot内置的tomcat能正常访问接口。

springboot正常启动后访问不到controller层的接口

 maven打成war包,部署到测试环境中,项目正常启动,定时任务正常启动,静态页面也能访问到,但是controller访问报错,没有找到对应的请求地址,如下:

springboot正常启动后访问不到controller层的接口

二、解决尝试

既然找不到这个请求地址,就从controller问什么没有加载到去考虑。

尝试1:

启动类在controller外面,不加包扫描注解也会自动扫描controller下的类。

springboot正常启动后访问不到controller层的接口

避免扫描不到,加了包扫描注解,尝试还是访问不到。

springboot正常启动后访问不到controller层的接口

尝试二:

 controller类的注解,类上加@Controller注解,方法返回json,方法上加上@ResponseBody注解,没问题啊。还是访问不到。

springboot正常启动后访问不到controller层的接口

 方法中改成@RestController注解,方法去掉@ResponseBody注解,还是访问不到。

尝试三:

maven把项目打成jar包方式启动,能正常访问到接口。很奇怪,但是不想用jar的方式。

尝试四:

重新写了一个新的controller类,新接口能访问到

springboot正常启动后访问不到controller层的接口

 最后定位到mapping的value,访问不到的接口路径是.jspx结尾的,去掉.jspx就能访问到了。可能springboot对这个请求地址有过滤???

springboot正常启动后访问不到controller层的接口

 springboot正常启动后访问不到controller层的接口

当时在别的项目中向前端提供的接口都是以.jspx结尾的,所以这次就从别的地方拷贝过来。关键是本地正常,jar包调用也正常,打成war包就访问不到。郁闷