当前位置: 首页 > news >正文

3.7、@ResponseBody 和 @RestController

  本部分示例代码见此项目的 mvc 分支下的 RespBodyController.java 和 TheRestController.java


① 使用注解@ResponseBody映射响应体

  注解@ResponseBody@RequestBody很像。这个注解可以放到一个方法中,指示返回类型应该直接被写进HTTP响应体中(而不是放到一个Model中、也不是翻译为一个视图名)。例如:

@GetMapping("/something")
@ResponseBody
public String helloWorld() { return "Hello World"; }

  上面的示例会返回文本 “Hello World”,并把它写到HTTP响应流中。

  就像@RequestBody,Spring 使用HttpMessageConverter把返回的对象转换到请求体中。更多关于这些转换器的消息,参见消息转换器.

② 使用注解@RestController创建 REST 控制器

  一个非常常见的场景是让控制器实现 REST API,因此只服务于 JSON、XML 或者自定义的 MediaType 内容。为了方便,避免在所有的@RequestMapping方法上加上@ResponseBody注解,你可以用@RestController注解你的控制器类.

  @RestController 是一个模板注解,它合并了@ResponseBody@Controller。不仅如此,它还为你的控制器赋予了更多的意义,在未来的发行版本中也将包含更多语义。

  就像常规的@Controllers@RestController可以由@ControllerAdvice或者@RestControllerAdvice Bean 协助。详情见用 @ControllerAdvice 和 @RestControllerAdvice 通知控制器”一节

相关文章:

  • C 语言 格式化输出输入
  • ls输出显示命令总结
  • 指针
  • 第二周 词频统计
  • java之struts2的action的创建方式
  • linux安装openssl、swoole等扩展的具体步骤
  • CSS 分享
  • VS2017 常用快捷键
  • Vue.js源码(2):初探List Rendering
  • 如何把文字转换成语音,文字转语音转换器能帮你
  • 面试官:你接受免费加班吗?程序员这样怼回去,网友:老铁没毛病
  • fseek的使用
  • assert()函数用法
  • Python Day29
  • java socket之多人聊天室Demo
  • [译]CSS 居中(Center)方法大合集
  • 10个最佳ES6特性 ES7与ES8的特性
  • css的样式优先级
  • JavaScript函数式编程(一)
  • js数组之filter
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux快速复制或删除大量小文件
  • Spring Cloud Feign的两种使用姿势
  • windows-nginx-https-本地配置
  • 测试开发系类之接口自动化测试
  • 从setTimeout-setInterval看JS线程
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 手写双向链表LinkedList的几个常用功能
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • UI设计初学者应该如何入门?
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​Linux·i2c驱动架构​
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • ###C语言程序设计-----C语言学习(3)#
  • #162 (Div. 2)
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #前后端分离# 头条发布系统
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (力扣题库)跳跃游戏II(c++)
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (四)鸿鹄云架构一服务注册中心
  • (转)jdk与jre的区别
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .htaccess配置常用技巧
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .Net的DataSet直接与SQL2005交互
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [Asp.net mvc]国际化
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [BZOJ 2142]礼物(扩展Lucas定理)