`

@Controller和@RestController的区别?

 
阅读更多
官方文档:
@RestController is a stereotype annotation that combines @ResponseBody and @Controller.
意思是:
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

1)如果只是使用@RestController注解Controller,则Controller中的方法无法返回jsp页面,配置的视图解析器InternalResourceViewResolver不起作用,返回的内容就是Return 里的内容。
例如:本来应该到success.jsp页面的,则其显示success.

2)如果需要返回到指定页面,则需要用 @Controller配合视图解析器InternalResourceViewResolver才行。
3)如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
分享到:
评论

相关推荐

    @Controller、@RestController注解区别详解

    @Controller和@RestController是Spring框架中两个重要的注解,它们都是用于标识控制器类的,但是它们之间有着很大的区别。 首先,让我们来了解一下@Controller注解。@Controller是Spring框架提供的注解,用于标识...

    @RestController和@Controller注解的区别1

    总结来说,`@Controller`和`@RestController`主要区别在于是否需要视图解析和数据格式化。`@Controller`适用于需要视图解析的场景,如传统的MVC架构,而`@RestController`适用于前后端分离的项目,它直接返回JSON或...

    SpringBoot http请求注解@RestController原理解析

    @RestController注解是SpringBoot框架中一个非常重要的注解,它是@Controller和@ResponseBody的组合体,主要用于标记当前类是一个控制器,并且所有的方法返回值都会被转换为Json字符串。 首先,我们来看一下@...

    Spring @RestController注解组合实现方法解析

    在 Spring 框架中,@RestController 注解是一个非常重要的注解,它是 @Controller 和 @ResponseBody 两个注解的组合。通过使用 @RestController 注解,我们可以将 Controller 中的方法返回值直接作为响应体,而不...

    SpringBoot之Controller的使用详解

    一、@Controller和@RestController 在SpringBoot中,我们可以使用@Controller或@RestController来定义一个控制器。@Controller通常用于处理HTTP请求并返回视图,而@RestController则用于处理HTTP请求并返回JSON或...

    spring4.0 RestController.docx

    `@RestController`是`@Controller`和`@ResponseBody`两个注解的组合,使得处理HTTP请求变得更加简洁和高效。在这个改进之前,开发者通常会将`@Controller`用于创建控制器类,然后在每个处理方法上添加`@ResponseBody...

    Spring 4 + REST Web Service + JSON Example with Tomcat

    Spring 4 Web Service类用@RestController 进行注释, 可以取代@Controller和@ResponseBody的使用。要映射REST Web服务URL,请使用注释@RequestMapping。Web服务方法参数包含@RequestParam,该属性具有defaultValue...

    springmvc_controller_01

    2. **注解驱动的 Controller**:Spring MVC 使用注解来简化配置,如 `@RestController` 和 `@Controller`。`@RestController` 适用于 RESTful 风格的应用,它结合了 `@Controller` 和 `@ResponseBody`,意味着返回值...

    springmvc_controller_03

    Controller 类通常使用注解如 `@Controller` 或 `@RestController` 来标识,这些注解告诉 Spring 这个类是一个处理请求的组件。 ### 3. 处理器映射与注解路由 - **处理器映射(Handler Mapping)**:Spring MVC ...

    Controller注解学习笔记.md

    整理笔记:在springboot中的各个注解的作用,包含@Controller、@ResponseBody、@RestController、@RequestMapping、@GetMapping 注解、@SpringBootTest注解:、@RequestParam注解、@Param注解、@pathVariable注解

    Spring注解 - 52注解 - 原稿笔记

    @ConfigurationProperties , @Controller , @CrossOrigin , @EnableWebMvc , @GetMapping , @Import , @JsonDeserialize , @JsonIgnore , @JsonIgnoreProperties , @JsonIgnoreType , @JsonInclude , @JsonProperty...

    SpringBoot+thymeleaf

    2.@RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,...

    springMVC技术概述

    常用注解:@Controller @RestController(Controller+ResponseBody) @Service @Transactional @Mapper @AutoWired @RequestMapping--路由 @RequestParam--参数绑定(不同名参数或Map<Object,String>) @...

    动态生成Java springboot controller (2).docx

    首先,`@Controller` 和 `@RestController` 是Spring MVC提供的两个关键注解,它们都用于标记一个类作为控制器。`@Controller` 注解通常用于创建MVC控制器,它可以返回视图名称,然后由ViewResolver解析为实际的视图...

    Controller对请求封装和返回

    `Controller对请求封装和返回`这个主题主要涉及如何有效地设计和实现Controller层,以便处理来自客户端的请求,并以适当的方式返回响应数据。ControllerUtils类的引入,通常是为了提供一些通用的方法,帮助简化...

    类似Spring Controller 注解Demo

    本文将深入探讨"类似Spring Controller注解Demo"这一主题,结合提供的标签"源码"和"工具",我们将分析Spring MVC中的Controller注解以及如何通过源码理解和应用它们。 Spring MVC是Spring框架的一部分,它提供了...

    动态生成Java springboot controller.docx

    1. `@RestController`注解:这个注解是`@Controller`和`@ResponseBody`的组合,主要用于创建RESTful API。当一个类被`@RestController`标记时,它的方法默认会将返回值转换为HTTP响应体。 2. `@Controller`注解:这...

    springboot集成mybatis+shiro+thymeleaf

    @RestController是组合了@ResponseBody&@Controller 注解分为元注解和组合注解。 注解又分为JAVA注解和Spring注解 在业务层建议使用Spring注解,配置使用JAVA注解~~ :sob: SpringBoot大量的注解是基于Spring4.x的

    Spring Boot中Controller间的调用

    通过解耦和模块化设计,可以避免直接的Controller间调用,提高代码的可测试性和可维护性。 总之,虽然Spring Boot提供了Controller间调用的手段,但这并不是推荐的做法。正确的设计应当侧重于服务和组件的解耦,...

    spring boot 的常用注解使用小结

    除了 @RestController、@RequestMapping 和 @EnableAutoConfiguration 注解外,Spring Boot 中还有其他一些常用的注解,例如: * @Component:用于标记一个组件类 * @Service:用于标记一个服务类 * @Repository:...

Global site tag (gtag.js) - Google Analytics