记一次多次出现异常HttpMediaTypeNotAcceptableException和前端406报错相关详解
前言
HttpMediaTypeNotAcceptableException
HttpMediaTypeNotAcceptableException 是在 Web 开发中常见的一种异常,它通常在客户端请求资源时发生,表示客户端请求的媒体类型(比如 JSON、XML 等)与服务器无法提供或不支持的媒体类型不匹配,这通常是根据 HTTP 请求中的 Accept 头信息发生的。
当请求处理程序无法生成客户端可接受的响应时抛出异常。
因素
1.请求头信息
确保客户端的请求包含一个 Accept 头信息,指定了服务器能够响应的媒体类型,即Content-Type属性与后端保持一致。
2.参数
确保前端传递参数与后端接收参数保持一致,不一致也会有异常。
3.注解
@RequestBody: 告诉 Spring MVC 将 POST 请求的主体内容(通常是 JSON 格式的数据)转换成 MyObject 类型的对象,并将其传递给 create 方法进行处理。有些Contect-Type类型传递的参数到后端加上这个属性也会导致异常,可以先去掉试试。
4.return
自定义的返回类与前端框架定义的请求Accept头不匹配,这个应该是会导致前端406报错;
需要确保HTTP头中的Accept字段指定的客户端期望接收的响应格式与后端一直,或者前端框架不好改直接return void也凑合。