SpringMVC返回JSON数据,前端报406错误处理

这个问题有两个原因

1.90%的可能性,后台没有jackson的jar包,不再多说,加上对应的jar包就ok,我们主要讨论下面的问题。

2.10%的可能性,请求的路径是.html,web.xml中设置的spring前端控制器的拦截路径也设置的*.html

然后controller中的方法添加了@ResponseBody注解,返回的类型是可能是String,也可能是其他java类型,导致前端报406错误。

原因:.html这种请求路径比较特殊,springmvc不会给你返回一个json格式的数据类型,而是返回html格式的。

解决方法:在web.xml文件的spring前端控制器的servlet中增加一个<servlet-mapping>,比如增加*.action的请求路径,如下:

<servlet-mapping>
    <servlet-name>e3-sso-web</servlet-name>
    <url-pattern>*.action</url-pattern>
  </servlet-mapping>

然后访问的时候用.action的路径访问,不用.html后缀访问了,或者访问的时候不加后缀也不会出现406的错误!!

猜你喜欢

转载自blog.csdn.net/Topdandan/article/details/81070244
今日推荐