http请求报错:406 Not Acceptable的解决办法

news/2024/10/18 22:31:50/

目录

应用场景

基本概念

解决方法

方法一:

方法二:

方法三:


应用场景

接口在返回结果集的时候出现了406的报错,但是返回String类型不会报错,正常返回。

基本概念

406 Not Acceptable是一个HTTP响应状态码,指示服务器无法实现客户端的一个 Accept-标头的请求响应。这通常是用户代理(即浏览器)指定一个可接受的字符集(通过Accept-Charset)、语言(通过Accept-Language)等应响应的结果,并且服务器无法提供此类响应。

406:HTTP协议状态码的一种(4xx表示客户端的问题),表示客户端无法解析服务端返回的内容。就是后台的返回结果前台无法解析就会报406错误。

406 Not Acceptable 表示用户代理(在大多数情况下是 Web 浏览器)请求了有效的资源,但请求包含一个特殊的 Accept- 标头,该标头向服务器指示有效响应只能包含特定类型的信息。下面是此类场景的几个栗子:

  • 用户代理可能本地化为服务器无法提供的特定区域设置或语言。例如,用户代理可以使用 Accept-Language 请求标头来指定有效的法语语言(Accept-Language:fr),但如果服务器无法使用法语提供响应,则 406 代码可能是唯一正确的响应。
  • 用户代理可能请求服务器返回特定类型的内容。这些内容类型通常称为 MIME 类型,用于定义如纯文本(text/plain)、PNG 图像(image/png)、mp4 视频(video/mp4)等内容。因此,客户端可以在请求中包含 Accept 标头,并定义应由服务器提供的显式 MIME 类型(例如,Accept:application/xml)。如果服务器无法响应请求的匹配内容类型,则可能需要 406 Not Acceptable 响应。

在 HTTP 请求中可以提供少量其他 Accept- 标头,但绝大多数场景与上述类似:用户代理需要显式类型的响应,服务器要么提供响应,要么返回 406 代码以指示它无法实现请求。

解决方法

方法一:

将返回的数据类型类中为所有属性添加get/set方法,或者添加@Data注解,或者添加@Setter和@Getter

使用@Data注解或@Setter@Getter的话需要lombok这个依赖:

        <!-- lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></dependency>

方法二:

如果方法一没有解决的话,就加上这个依赖:

<!-- json解析 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.9</version></dependency>

如果出现not found报错的话,就提高这个依赖的版本,可以改为

        <!-- json解析 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.10.1</version></dependency>

方法三:

如果上述两个方法都没有解决的话,你就去看你接口返回的数据,比如我的,我是返回的结果集,通过试错,我发现是我的结果集出现了问题,我的结果集进行了序列化。

把这段代码删去,问题就解决了。

参考:https://www.cnblogs.com/devdog/p/14931692.html


http://www.ppmy.cn/news/1131950.html

相关文章

idea Springboot 校园助学贷款系统VS开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 校园助学贷款系统是一套完善的信息系统&#xff0c;结合springboot框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统 具有完整的源代码和数据库&…

GEO生信数据挖掘(四)数据清洗(离群值处理、低表达基因、归一化、log2处理)

检索到目标数据集后&#xff0c;开始数据挖掘&#xff0c;本文以阿尔兹海默症数据集GSE1297为例 目录 离群值处理 删除 低表达基因 函数归一化&#xff0c;矫正差异 数据标准化—log2处理 完整代码 上节围绕着探针ID和基因名称做了一些清洗工作&#xff0c;还做了重复值检查…

96.qt qml-http之XMLHttpRequest介绍详解使用

在QML中我们可以通过XMLHttpRequest 来实现http/https访问网络接口,接下来我们先来学习XMLHttpRequest类的常用部分、 由于QML的XMLHttpRequest少部分参数是没有的,所以本章来单独讲解下。下章我们来实现旋转请求按钮以及通用的JSON请求模板方法 1.XMLHttpRequest初步使用 …

信息服务上线渗透检测网络安全检查报告和解决方案4(XSS漏洞修复)

系列文章目录 信息服务上线渗透检测网络安全检查报告和解决方案2(安装文件信息泄漏、管理路径泄漏、XSS漏洞、弱口令、逻辑漏洞、终极上传漏洞升级)信息服务上线渗透检测网络安全检查报告和解决方案信息服务上线渗透检测网络安全检查报告和解决方案3(系统漏洞扫描、相对路径覆…

排序篇(六)----排序小结

排序篇(六)----排序小结 排序算法复杂度及稳定性分析 直接插入排序的算法复杂度&#xff1a; 最好情况下&#xff0c;当数组已经有序时&#xff0c;直接插入排序的时间复杂度为O(n)&#xff0c;其中n是数组的大小。最坏情况下&#xff0c;当数组逆序排列时&#xff0c;直接插…

Vue3最佳实践 第六章 Pinia,Vuex与axios,VueUse 3(VueUse )

VueUse函数库 VueUse 是一个库&#xff0c;收集了在使用 Vue2/Vue3 Composition API 时可以使用的有用函数。使用 Composition API&#xff0c;您可以通过将反应变量和逻辑与组件分开来创建可重用的函数&#xff0c;因此您可以创建像 VueUse 这样的库。 在 Vue 的 Composition …

An attempt was made to call the method xxx but it does not exist

场景 在公司项目中做配置迁移的时候&#xff0c;服务启动时报错 报错信息 Description:An attempt was made to call the method redis.clients.jedis.Jedis.<init>(Ljava/lang/String;IIIZLjavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/SSLParameters;Ljavax/net/…

ELK整合springboot(第二课)

一、创建一个springboot的项目 pom文件如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLo…