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

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

目录

应用场景

基本概念

解决方法

方法一:

方法二:

方法三:


应用场景

接口在返回结果集的时候出现了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.lryc.cn/news/180004.html

相关文章:

  • 信息化发展75
  • C++八股
  • Nat. Commun. | 大规模高分辨单光子成像
  • Android开源库
  • 【小程序 - 基础】页面导航、页面事件、生命周期、WXS脚本_04
  • 矩阵求导数
  • 竞赛 大数据疫情分析及可视化系统
  • 数据结构--栈
  • 期权定价模型系列【7】:Barone-Adesi-Whaley定价模型
  • 【Axure高保真原型】3D圆柱图_中继器版
  • 多个线程启动 ,等待全部执行完毕再搜集数据
  • 【VIM】VIm-plug插件
  • ssl证书 阿里的域名,腾讯云的证书
  • 力扣算法题:34、在排序数组中查找元素的第一个和最后一个位置.java版
  • [网鼎杯 2020 朱雀组]Nmap
  • 【Leetcode】166.分数到小数
  • 2023-10-01 LeetCode每日一题(买卖股票的最佳时机)
  • 解决 ARouter 无法生成路由表,Toast提示 找不到目标路由
  • 排序算法之【希尔排序】
  • 防火墙基础之H3C防火墙分支与分支之间双向地址转换
  • 【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(1,二维连续型和离散型随机变量基本概念与性质)
  • cesium 雷达扫描 (波纹线性雷达扫描效果)
  • SLAM从入门到精通(tf的使用)
  • python代码混淆与代码打包
  • Codeforces Round 899 (Div. 2)
  • 【 SuperPoint 】图像特征提取上的对比实验
  • Chrome获取RequestId
  • cesium 雷达扫描 (线行扩散效果)
  • 【React】React组件生命周期以及触发顺序(部分与vue做比较)
  • 【C++】多线程的学习笔记——白话文版(bushi