`

@RestController的作用

 
阅读更多

 

先看下@RestController的代码

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
	String value() default "";
}

 可以看到这个注释继承@Controller@Responsebody,相当于一个便捷式的注解效果等同于在类上同时添加上述两个注解。那他们两有什么效果呢

 

@Controller标识这个一个controller类

@Responsebody为方法做注释时表示方法的返回值会被放到查询的response中,也就是比如返回值是一个String“justin”,HttpResponse的body部分就是“justin”,你在客户端就只看到这几个字。如果把这个注释放在类上,则相当于为此类的所有方法做了该注释。但是如果你在一个有此注释的类的方法中返回ModelAndView它还是会跳转到view中@ResponseBody就不起作用了。

 

这里有一点问题,如果想要返回的数据是json,要在方法RequestMapping上加值(produces = "application/json;charset=UTF-8"),否则似乎默认以xml格式构建对象并返回。跟json结构有时候就不一样。受过这个苦。

分享到:
评论

相关推荐

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

    这个注解的作用不仅仅是实例化,还有语义化的作用,即表明该类是充当Controller的作用。 而@ResponseBody注解则是用来指明该类中的所有方法返回值都会被转换为Json字符串。无论方法返回的是Map还是其他Object,它...

    @Controller、@RestController注解区别详解

    @RestController注解相当于@Controller+@ResponseBody合在一起的作用。换句话说,@RestController注解可以将控制器类的方法返回值默认设置为JSON对象,省去了使用@ResponseBody注解的麻烦。 例如: ```java @...

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

    这个组合注解的作用是将 Controller 中的方法返回值直接作为响应体。 很多开发者可能会认为,这种注解组合是 Java 的特性,但是事实上这是 Spring 框架自己的实现。我们可以通过编写代码来验证这一点: ```java @...

    spring4.0 RestController.docx

    `@ResponseBody`注解的作用是将方法的返回值直接转换成HTTP响应体,通常用于返回JSON或XML格式的数据。在Spring 4.0之前,为了构建REST服务,开发者需要在每个返回数据的方法上都添加`@ResponseBody`。而在引入`@...

    spring boot 的常用注解使用小结

    @RestController 注解的主要作用是将 Controller 的方法返回值直接写入到 HTTP 响应体中,而不需要通过视图来显示数据。使用 @RestController 注解可以简化 RESTful Web 服务的开发。 @RestController 注解的定义...

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

    在火狐中显示可能会有问题,大家都是... @RequestMapping , @RequestParam , @Resource , @ResponseBody , @RestController , @Scope , @Service , @Validated , @Value , @WebFilter , @WebInitParam , @WebListener

    SpringBoot 中常用注解及各种注解作用

    SpringBoot 中常用注解及各种注解作用 SpringBoot 框架中,注解扮演着非常重要的角色,它们可以帮助开发者快速构建应用程序,提高开发效率。下面将对 SpringBoot 中常用注解进行详细的介绍,并解释每个注解的作用。...

    Controller注解学习笔记.md

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

    spring注解整理,及应用

    * @RestController: Spring 4 之后加入的注解,原来在@Controller 中返回 JSON 需要@ResponseBody 来配合,现在可以直接使用@RestController 替代@Controller,不需要再配置@ResponseBody, 默认返回 JSON 格式。...

    尚硅谷-springBoot3课程笔记

    - **作用**:该注解用于指示控制器方法直接返回对象而不是视图名称。对象将被序列化为JSON或XML等格式。 - **示例**: ```java @RestController public class HelloController { @GetMapping("/hello") @...

    Spring Boot(三)之找回熟悉的Controller,Service

    Controller 是一个核心组件,对于整个应用程序的架构起着至关重要的作用。 Controller 的作用 Controller 的主要作用是处理用户的请求,并将其处理结果返回给用户。Controller 负责接收用户的请求,通过调用 ...

    大数据SpringBoot进销存管理系统(详细文档+完整源码+部署视频).zip

    在 Spring Boot 中,通常使用 `@RestController` 或 `@Controller` 注解来标识这些类。 2. **Service**: - **位置**:`service` 文件夹 - **作用**:业务逻辑层,实现具体的业务逻辑和功能。 - **详细解析**:...

    springboot常用注解

    "SpringBoot常用注解" SpringBoot框架中,注解(Annotation)是一种Metadata形式的描述,它可以在编译器或 runtime 时提供信息,用于配置 SpringBoot ...了解这些注解的作用和使用方法是掌握 SpringBoot 框架的关键。

    springboot的GET请求和POST请求

    - 作用:`@RestController` 是 `@Controller` 和 `@ResponseBody` 的组合注解。它表示该类中的所有方法默认都会以某种形式(如 JSON、XML)将响应体返回给客户端,而不是解析为一个视图名。 - 示例: ```java @...

    ssm企业级框架精简版本,纯注解

    在纯注解的环境中,我们可以通过`@Autowired`注解自动装配Bean,`@Component`、`@Service`、`@Repository`和`@Controller`等注解定义不同类型的组件,以及`@Scope`注解来控制Bean的作用域。 **SpringMVC** 是Spring...

    SpringBoot框架实现JSP跳转和接口Json返回

    SpringBoot框架以其简洁的配置和快速的开发特性深受开发者喜爱,但在处理JSP(JavaServer Pages)方面,确实不如其他如Thymeleaf、...这体现了SpringBoot的灵活性和适应性,使其能够在各种应用场景中发挥作用。

    SpringbootVueDemo:零基础Springboot+Vue 培训项目

    SpringbootVueDemo:woman’s_boot:Springboot+:Christmas_tree:Vue 培训项目前端技术栈Vue.jsElementUIaxios...@RestController注解相当于@ResponseBody + @Controller合在一起的作用package com.huihe.back.control

    springbootDemo

    在源代码中,开发者会定义各种 Spring 组件(如服务、控制器等),并通过注解如 `@Service`、`@Repository` 和 `@RestController` 来声明它们的作用。`@Service` 用于标记业务逻辑层组件,`@Repository` 用于数据库...

    架构师面试题系列之Spring MVC面试专题及答案(31题).docx

    一般使用@Controller 注解标识控制器,也可以使用@RestController 注解替代@Controller 注解,@RestController 相当于@ResponseBody+@Controller,表示控制器中所有的方法都返回 JSON 格式数据,一般不使用其他注解...

    jackson2.8.8.zip

    在SSM(Spring、SpringMVC和MyBatis)框架整合中,Jackson起到了关键的作用,主要用于对象到JSON的序列化和反序列化,使得Java对象能够轻松地转换为JSON格式的数据进行传输和存储。 Jackson 2.8.8是该库的一个特定...

Global site tag (gtag.js) - Google Analytics