关于HttpEntity的用法

article/2025/10/1 0:46:39

关于HttpEntity的用法

  HttpEntity表示http的request和resposne实体,它由消息头和消息体组成。从HttpEntity中可以获取http请求头和回应头,也可以获取http请求体和回应体信息。
HttpEntity的使用,与@RequestBody 、@ResponseBody类似。

HttpEntity的典型应用是配合RestTemplate,在微服务项目中的应用(参见API示例)
用户登录示例:
步骤一:在login.jsp发送ajax请求,发送之前添加请求头信息

$.ajax({type: "POST",url: targetUrl,data: user,//传递的参数dataType:"json",//前端可以接收服务器传过来的数据的类型,jsoncontentType: "application/json",beforeSend: function(xhr){//请求发送之前执行函数,添加请求头xhr.setRequestHeader("token","shfashfdasfhdashfoasf");},success: function(user){alert(user.username);},error:function(){alert("异常,请检查");}

步骤二:action中提取RequestEntity中的请求头信息,并用ResponseEntity回应

@PostMapping(value = "/login")
@ResponseBody//返回的结果是响应体,返回的类型String,字符串中有中文,乱码了
public ResponseEntity<User> login(@RequestBody String userString, RequestEntity requestEntity) {System.out.println(requestEntity.getUrl());//通过请求实体对象获取请求头HttpHeaders requestHeaders = requestEntity.getHeaders();System.out.println(requestHeaders);System.out.println(requestHeaders.getContentLength());//内容的长度System.out.println(requestHeaders.getContentType());System.out.println(requestHeaders.getAccept());System.out.println(requestHeaders.getOrigin());System.out.println(requestHeaders.getFirst("token"));//创建一个响应头HttpHeaders responseHeader = new HttpHeaders();responseHeader.set("myResponseHeader","myValue");//userString绑定的请求体//登录成功,拿到一个user对象User user = new User();user.setUsername(userString.split("&")[0].split("=")[1]);user.setPassword(userString.split("&")[1].split("=")[1]);user.setId(1000001);user.setHead_img("/images/head.jpg");user.setBalance(1000);//现在返回登录的结果,json格式的字符串//user:响应体,responseHeader:响应头,本身就有默认的响应头,在这里是添加其他的响应头的信息//HttpStatus:响应的状态码return new ResponseEntity<User>(user, responseHeader, HttpStatus.OK);
}

执行结果:
在这里插入图片描述

响应的状态码

添加的在这里插入图片描述
请求头信息
在这里插入图片描述

请求体
在这里插入图片描述


http://chatgpt.dhexx.cn/article/LWZ64AO2.shtml

相关文章

查询MySQL数据库中表结构的几种方法

mySQL: 方法一、二、三&#xff1a;是在本数据库中查询。 /** 方法一 **/ show columns from activity_station; /** 方法二 **/ desc activity_station; describe activity_station;/** 方法三 **/ show create table activity_station;方法四是在统计数据库中查询。 informa…

mysql 表结构查询的SQL语句

1、查看表结构 desc student;2、查看表的DDL语句 show create table student;3、查看列的结构信息 select column_name,data_type,column_comment,column_key,extra,character_maximum_length,is_nullable,column_default from information_schema.columns where table_sch…

mysql查看表结构 desc 表名;

查看表结构 语法&#xff1a;desc 表名;

MySQL之表结构

1.添加、删除字段 查看表结构 desc blog;show columns from blog;新增字段 alter table 表名 add 字段名 字段数据类型;alter table blog add age tinyint;删除字段 alter table 表名 drop 字段名;alter table blog drop age;重新添加age alter table blog add age tinyin…

mysql查看表结构和编码

show full columns from XXXXX

查看修改MySQL表结构命令

查看修改MySQL表结构命令 简述 小编经常会遇到一些数据库编码不对得问题&#xff0c;好TM头疼&#xff0c;这里做一个记录&#xff0c;供大家参考。 修改数据库字符集&#xff1a; ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE …]; 把表默认的字…

Mysql数据库常用表结构操作语句

目录 一、准备工作二、常用表结构操作语句1.在数据库表中新增 字段、约束1.1 新增字段1.2 新增约束 2.在数据库表中修改 表、字段2.1 修改表的名字2.2 修改字段名、数据类型、默认值、注释、自增属性 3.在数据库表中删除表、字段3.1 删除表3.2删除字段、字段约束 3.在数据库表中…

mysql 查询所有表结构_mysql数据库查看表结构

Mysql技术知识点 Mysql技术知识点,首先来讲一下Mysql语句精进安装数据库,然后导入tigerfive.sql。 sql见文档结尾部分MySQL示例数据库模式由以下表组成: customers: 存储客户的数据。 products: 存储汽车的数据。 productLines: 存储产品类别数据。 orde... 文章 好程序员 2…

linux mysql 结构_linux查看mysql数据表结构

展开全部 一、简单描述表结构&#xff0c;字段类型 desc tabl_name; 显示32313133353236313431303231363533e78988e69d8331333365636133表结构&#xff0c;字段类型&#xff0c;主键&#xff0c;是否为空等属性&#xff0c;但不显示外键。 例如&#xff1a;desc table_name 二、…

mysql查看表结构修改记录表_MySQL 表结构查看以及表结构修改

使用MySql数据库时&#xff0c;如果对表字典不够熟悉&#xff0c;我们就需要查看表结构。如果数据库是在远程linux上部署&#xff0c;很多时候我们只能通过mysql的命令来查看表结构。同样&#xff0c;如果我们想要修改表结构&#xff0c;添加、删除、修改列时&#xff0c;也只能…

mysql查看表描述_MySQL 查看表结构简单命令

一、简单描述表结构,字段类型 desc tabl_name; 显示表结构,字段类型,主键,是否为空等属性,但不显示外键。 例如:desc table_name 二、查询表中列的注释信息 select * from information_schema.columns where table_schema = db #表所在数据库 and table_name = tablename…

mysql查看表结构的几种方式

在我第N次忘记如何查看表结构后&#xff0c;在网上查了一下后&#xff0c;看到有好几种查看表结构的方式&#xff0c;总结一下。 以student&#xff08;sid,sname,birthday,sex&#xff09;的查看为例。 【方式一】&#xff1a;desc student; 语法&#xff1a;desc 表名;-----…

【Jon】连接Mysql数据库出现1046错误

问题&#xff1a;今天博主在使用Navicat12连接Mysql数据库的时候出现1046-UDAL-No database selected错误。 解决办法&#xff1a;直接换了一个版本的Navicat&#xff0c;就解决了问题。Nice^^

MYSQL 1064 错误

用MySQL执行批量插入数据&#xff0c;格式如下&#xff1a; declare i integer ; -- 定义变量begin i : 0000;loop /* 插入数据 */ insert into 表名 (字段1,字段2,... ) values (字段1值,字段2值,...); /* 参数递增 */ i : i 1;/* 停止条件 */ exit when i > 000111; …

【报错问题解决】MySQL创建表报错 ERROR 1046 (3D000): No database selected

【报错问题解决】MySQL创建表报错 ERROR 1046 : No database selected 问题概述原因解决方法 关于数据库和表的创建请参考文章 【手把手】MySQL创建数据库和表 问题概述 数据库已经创建 创建表的时候报错&#xff1a;ERROR 1046 (3D000): No database selected 原因 创建…

Mysql Workbench 插入数据提示错误:1046(ErrorCode:1046.No database select...)

Mysql Workbench 插入数据提示错误&#xff1a;1046&#xff08;ErrorCode&#xff1a;1046.No database select…&#xff09; 问题描述&#xff1a;初学者在使用Mysql Workbench向数据库添加数据过程中出现错误&#xff08;ErrorCode&#xff1a;1046.No database select…&…

已解决:Navicat 1046 - UDAL - No database selected

解决方法&#xff1a; 1、在常规选项中填入正确的数据库信息&#xff0c;测试连接通过。 2、在数据库选项中&#xff0c;勾选"使用自定义数据库列表">>添加数据库到列表>>输入数据库名>>确定。 3、搞定。

MySQL错误ERROR 1046 (3D000): No database selected解决办法

No database selected可以理解为没有选择种数据库 先在查看数据库种包括的database有哪些&#xff0c;选择自己要操作的数据 记住database后面一定加s 选择自己要操作那一个数据库(这样选择之后mysql>就和上面的不是同一个意思) 这样之后就可以操作数据库&#xff0c;所以…

MySql 1046报错求解

这是老师的代码&#xff1a; 这是我的代码&#xff1a; SELECT city,count(1) FROM date.dateanalyst group by city having count(&#xfeff;if(industryField like "%电子商务%",1,null))> 50 ; 数据库错字没关系。 但是一直报错1046&#xff1a; Error Co…

ERROR 1046 (3D000): No database selected

刚进入到mysql页面直接创建表时报错ERROR 1046 (3D000): No database selected 是因为没有选择你需要使用的数据库&#xff08;use数据库名&#xff09;&#xff0c;加上你要将创建在哪个数据库中就写哪个数据库 没有就用create database 数据库名创建一个新的数据库&#xff0…