今天在使用springboot初始化一个项目的时候,发现controller层的方法无法访问,网页总是404
@Controller public class HelloController { @RequestMapping(path = {"/hello"}) //@ResponseBody public String hello(){ return "hello world fuzhihang"; } }
经过检查代码和上网查找发现了一个问题,我所使用的注解是@Controller,
这样一来会默认调用视图解析器去找相应的页面去了,显然我返回的这个页面是不存在的,所以会返回404
将@controller改成@RestController 即可,@RestController相当于将@ResponseBody + @Controller合在一起的作用
在@RequestMapping下面再加个@ResponseBody注解,
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,
写入到response对象的body区,而不是调用视图解析器,通常用来返回JSON数据或者是XML