1、背景:创建spring boot项目,使用@Controller注解暴露接口,请求该接口的时候会提示404。经过排查发现其实是项目是收到了请,但是为什么还是返回404呢?
@Controller
@RequestMapping("/home")
public class XDController {
@GetMapping("/dxd")
public String getName(){
System.out.println("其实进来了!");
return "xiaodong";
}
}
请求结果如下:
查看日志发现请求已经接收到了,但是为什么还是404?
2、解决问题:
查找资料发现,使用@Controller注解,spring mvc框架认为你这个方法的返回值就是 ModelAndViewer对象,相当于是一个 待跳转的页面,导致跳转的时候找不到这个 viewer ,导致404报错。
解决方式:加上 @ResponseBody注解,返回String、Object、Json等实体对象,不用跳转到模版页面。
至此问题解决。