【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

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

后端:

前端:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/165154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UML建模图文详解教程01——Enterprise Architect的安装与使用

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Enterprise Architect概述 官方网站:https://www.sparxsystems.cn/products/ea/;图示如下: Enterprise Architect是一个全功能的、基于…

B033-Servlet交互 JSP

目录 ServletServlet的三大职责跳转:请求转发和重定向请求转发重定向汇总请求转发与重定向的区别用请求转发和重定向完善登录 JSP第一个JSP概述注释设置创建JSP文件默认字符编码集 JSP的java代码书写JSP的原理三大指令九大内置对象改造动态web工程进行示例内置对象名…

2.HTML入门

目录 一.HTML介绍 二.HTML常用标签 2.1 标题标签 2.2 段落标签 2.3 超链接标签 2.4 图片标签 2.5 换行与空格 2.6 布局标签 2.7 列表标签 2.8 表单标签 一.HTML介绍 定义:将内容显示在网页,用来描述网页的一种语言,负责网页的架构…

Adiponectin 脂联素 ; T-cadherin +exosome

T-cadherin Adiponectin exosome T-cadherin Adiponectin exosome 代谢综合征中 外泌体、脂肪组织 和 脂联素 的器官间通讯-2019.pdf

【华为OD】C卷真题 100%通过:数组去重和排序 C/C++实现

华为OD 数组去重和排序 C源码实现,100%通过 目录 题目描述: 示例1 代码实现: 题目描述: 给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排…

C语言之字符串函数

C语言之字符串函数 文章目录 C语言之字符串函数1. strlen的使用和模拟实现1.1 strlen的使用1.2 strlen的模拟实现 2. strcpy的使用和模拟实现2.1 strcpy的使用2.2 strncpy的使用2.3 strcpy的模拟实现 3. strcat的使用和模拟实现3.1 strcat的使用3.2 strncat3.3 strcat的模拟实现…

C语言--每日五道选择题--Day23

第一题 1. 已知int i1, j2;,则表达式ij的值为( ) A:1 B:2 C:3 D:4 答案及解析 C 本题考查的是前置和后置的优先级,后置的优先级是高于前置的,所以这个表达式就可以转变为…

【Spark源码分析】事件总线机制分析

Spark事件总线机制 采用Spark2.11源码,以下类或方法被DeveloperApi注解额部分,可能出现不同版本不同实现的情况。 Spark中的事件总线用于接受事件并提交到对应的监听器中。事件总线在Spark应用启动时,会在SparkContext中激活spark运行的事件总…

什么是持续集成的自动化测试?

持续集成的自动化测试 如今互联网软件的开发、测试和发布,已经形成了一套非常标准的流程,最重要的组成部分就是持续集成(Continuous integration,简称CI,目前主要的持续集成系统是Jenkins)。 那么什么是持…

docker 安装常用环境

一、 安装linux(完整) 目前为止docker hub 还是被封着,用阿里云、腾讯云镜像找一找版本直接查就行 默认使用latest最新版 #:latest 可以不写 docker pull centos:latest # 拉取后查看 images docker images #给镜像设置标签 # docker tag […

FIB表与快速转发表工作原理

在一张路由表中,当存在多个路由项可同时匹配目的IP地址时,路由查找进程会选择掩码最长的路由项用于转发,即最长匹配原则。因为掩码越长,所处的网段范围就越小,网段的范围越小,就越能快速的定位到PC机的具体…

【分布式】小白看Ring算法 - 03

相关系列 【分布式】NCCL部署与测试 - 01 【分布式】入门级NCCL多机并行实践 - 02 【分布式】小白看Ring算法 - 03 【分布式】大模型分布式训练入门与实践 - 04 概述 NCCL(NVIDIA Collective Communications Library)是由NVIDIA开发的一种用于多GPU间…

通过 python 脚本迁移 Redis 数据

背景 需求:需要将的 Redis 数据迁移由云厂商 A 迁移至云厂商 B问题:云版本的 Redis 版本不支持 SYNC、MIGRATE、BGSAVE 等命令,使得许多工具用不了(如 redis-port) 思路 (1)从 Redis A 获取所…

GoLand 2023.2.5(GO语言集成开发工具环境)

GoLand是一款专门为Go语言开发者打造的集成开发环境(IDE)。它能够提供一系列功能,如代码自动完成、语法高亮、代码格式化、代码重构、代码调试等等,使编写代码更加高效和舒适。 GoLand的特点包括: 1. 智能代码补全&a…

json 去除特殊字符换行等符号

由于字符串中有出现了 换行符,导致转json失败,报错:json parse error。 一般来讲,直接用string的replace方法就可以了 String str "{\"adrdet\":\"阿歌嘎\n嘎、\",\"date\":\"2023/06/…

Ubuntu安装CUDA驱动

Ubuntu安装CUDA驱动 前言官网安装确认安装版本安装CUDA Toolkit 前言 CUDA驱动一般指CUDA Toolkit,可通过Nvidia官网下载安装。本文介绍安装方法。 官网 CUDA Toolkit 最新版:CUDA Toolkit Downloads | NVIDIA Developer CUDA Toolkit 最新版文档&…

NX二次开发UF_CAM_update_list_object_customization 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_update_list_object_customization Defined in: uf_cam.h int UF_CAM_update_list_object_customization(tag_t * object_tags ) overview 概述 This function provids the…

UDP客户端使用connect与UDP服务器使用send函数和recv函数收发数据

服务器代码编译运行 服务器udpconnectToServer.c的代码如下&#xff1a; #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<arpa/inet.h> #include<sys/socket.h> #include<errno.h> #inclu…

Okhttp 浅析

安全的连接 OkHttpClient: OkHttpClient: 1.线程调度 2.连接池,有则复用,没有就创建 3.interceptor 4.interceptor 5.监听工厂 6.是否失败重试 7.自动修正访问,如果没有权限或认证 8是否重定向 followRedirects 9.协议切换时候是否继续重定向 10.Cookie jar 容器 默认…

Python 的 socket 模块套接字编程(简单入门级别)

Python 的 socket 模块提供了对套接字编程的支持&#xff0c;允许你在网络上进行数据传输。套接字是一个抽象的概念&#xff0c;它允许程序在网络中的不同节点之间进行通信。 下面是 socket 模块中一些常用的函数和类&#xff1a; 1. 创建套接字&#xff1a; socket.socket(…