首页 > 其他分享 >SpringMVC中的@RestController

SpringMVC中的@RestController

时间:2022-11-03 20:44:52浏览次数:84  
标签:HTTP SpringMVC 跳转 写入 ResponseBody 注解 RestController

在Spring中@RestController的作用等同于@Controller + @ResponseBody。

所以想要理解@RestController注解就要先了解@Controller和@ResponseBody注解。

@Controller之前已经有过了解了,这里就讲@ResponseBody

  • @Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用;
  • 在使用 @RequestMapping 后,返回值通常解析为跳转路径,加上 @Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。

   例如,异步获取 json 数据,加上 @Responsebody 注解后,就会直接返回 json 数据。

  • @RequestBody 注解则是将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。
@RequestMapping("/login")
@ResponseBody
public Person login(@RequestBody Person person) {  // 将请求中的 datas 写入 Person 对象中
  return person;  // 不会被解析为跳转路径,而是直接写入 HTTP 响应正文中
}

总结:@RestController的作用,在方法上加了@RestController方法返回的不再是路径,返回的“值” 直接输出在前端页面body上。

标签:HTTP,SpringMVC,跳转,写入,ResponseBody,注解,RestController
From: https://www.cnblogs.com/mo-de/p/16855780.html

相关文章

  • SpringMVC中Controller的运用
    Controller的运用通常通过接口和注解的方式实现第一种:实现Controller接口,Controller是一个接口,在org.springframework.web.servlet.mvc包下,接口中只有一个方法;编写一个Co......
  • springmvc-handlerInterceptor
    HandlerInterceptor接口给我们提供了3个方法:(1)preHandle:在执行controller处理之前执行,返回值为boolean,返回值为true时接着执行postHandle和afterCompletion,如果我们返......
  • 2.什么是SpringMVC
    2.什么是SpringMVC概述:  SpringMVC是SpringFramework的一部分,是基于Java实现MVC的轻量级Web框架官方文档:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spri......
  • SpringMVC源码-创建FormattingConversionServiceFactoryBean
    一、FormattingConversionServiceFactoryBeanFormattingConversionServiceFactoryBean实现了FactoryBean接口,可以通过getObject获取ConversionService。FormattingConver......
  • @RestController注解报红
    详情:创建springboot项目后,如图这两个位置报红   原因:pom文件中依赖的问题   解决:   ......
  • 关于SpringMvc使用@RequstBody报错500的原因
    在使用SpringMvc框架接收前端数据添加到数据库时报500错误,@PostMappingpublicResultsave(@RequestBodyBookbook){booleanflag=bookService.save......
  • SpringMVC
    SpringMVC简述是基于spring的一个框架,实际上就是spring的一个模块,专门做web开发的。可理解为servlet的一个升级。web开发底层是servlet,框架是在servlet基础......
  • SpringMVC源码-创建ContentNegotiationManagerFactoryBean
    一、ContentNegotiationManagerFactoryBean的BeanDifinition及实现的接口上图的属性说的是ContentNegotiationManagerFactoryBean对应的BeanDifinition中设置的属性,需要......
  • SpringMVC-mvc context重载AbstractApplicationContext.refresh方法部分
    一、postProcessBeanFactory(ConfigurableListableBeanFactorybeanFactory)AbstractRefreshableWebApplicationContext.postProcessBeanFactory(ConfigurableListableBea......
  • 基本注解详解@Component,@RestController,@Autowired
    基本注解详解1.@Component注解的用法注解本质上就是一个类,开发中我们可以使用注解取代xml配置文件。@component是spring中的一个注解,它的作用就是实现bean的注入。在J......