【SpringMVC】 对请求的不同响应

前言

本文学习如何运用不同的注解来返回不同的响应.

1.返回静态页面@Controller

返回index.html页面

@Controller 和 @RestController的区别

@controller

只有加上这个注解,Spring才会帮我们管理这个代码.后续我们访问时才能访问到.

@RestController

等同于 @Controller+ @ResponseBody

联系:

@Controller 返回视图.

随着前后端分离,后端不处理页面,就返回页面所需要的数据

@RestController 返回数据.

相当于@controller+@ResponseBody

2.返回数据@ResponseBody

  • 可以修饰类

表示这个类下的所有方法返回的都是数据 .

  • 也可以修饰方法

表示这个方法返回的都是数据.

3.返回html的代码片段

和返回数据一样.

返回的数据中包含的html标签会直接被浏览器解析.

4.返回json

4.1返回对象

此时响应的数据类型conten_type是application/json , 也就是对象转化了json数据.

4.2返回Map

此时查看响应报文 ,正文类型也是application/json

总结:

当接口返回的是String时,content-type是text/html

当接口返回的是对象或者map时,content-type会被设置为application/json

5.设置状态码(http状态码)

状态码不会影响页面的展示

查看响应头

6.设置header

@RequestMapping注解设置Content_type

查看@RequestMapping注解的源码

produce相当于设置正文类型

consume相当于限制正文类型

案例练习 - 用户登陆案例

1.登陆接口

/user/login

username= ? & password=?

后端:

前端:

接口返回:校验成功/失败

2.获取用户的登陆信息

/user/getUserInfo

接口返回:当前的用户名字

后端:

前端:

建议:写完后端接口先访问查看一下.

相关推荐
霸道流氓气质23 分钟前
智能客服组件:分层意图识别、RAG Advisor 与人工转接状态机的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
captain3761 小时前
MyBatis操作数据库(入门2)
java·数据库·spring boot·后端·spring·mybatis
步行cgn2 小时前
Spring MVC + Thymeleaf 模板解析失败:从 500 错误到页面正常显示
java·spring·mvc
学到老活到老3 小时前
第 24 集:配置文件写了 80,Spring Boot 为什么读到 90?
java·后端·spring
Flynn Liang3 小时前
RAG 答非所问/幻觉怎么破?Spring AI QuestionAnswerAdvisor 召回优化实战(TopK/重排/混合检索)
人工智能·算法·spring·rag·幻觉·springai
二哈赛车手5 小时前
新人笔记---hermes定时功能设计,具体讲解以及可优化点
java·人工智能·笔记·spring·ai·typescript
ZWZhangYu5 小时前
从 Dify 实践理解大模型上下文缓存
java·后端·spring
软件技术NINI12 小时前
基于SpringBoot和Vue的摇滚乐鉴赏网站
vue.js·spring boot·后端·spring·html·毕业设计·毕设
一枕槐安4871 天前
RAG 服务扛住高并发:缓存、队列、限流三件套
java·spring·缓存·异步任务·rag·断路器
YDS8291 天前
Small Spring IOC篇:作用域和FactoryBean
java·后端·spring