Springboot的@Controller和@RestController注解什么时候用,底层概念是什么?

Springboot @Controller and @RestController Annotations when to use and what is the underlying concept?

这与其说是一个问题,不如说是一个观察,因为我花了 2-3 个多小时才弄清楚应该根据我们的需要使用哪个注释。

根据我的说法,@Controller 在我们制作适当的 MVC 应用程序时使用,该应用程序将为应用程序执行内部路由并给出响应以及 View(HTML PAGE) 而不是暴露原始细节。@RestController 在我们制作一个 RestFul 应用程序时使用,其目的只是获取从数据库中获取的数据并执行一个问题。我们在使用@RestController 时获得的数据是 JSON 格式。

我想知道为什么 spring 以这种特定方式运行,以及 SpringBoot 学习者在制作 restful API 时应该知道的一些内部工作。

@RestController 本身带有两个 Spring 注释:@Controller@ResponseBody.

这意味着 @RestController@Controller 之间的唯一区别在于 return 值的处理。

@RestController 一起使用 return 值作为响应正文。这正是您在编写 REST 服务时想要的。

使用 @Controller 你不会得到这个所以你得到默认处理。这意味着字符串 return 值被视为要呈现的视图,而不是 return as-is.

的字符串