访问spring mvc 接口 api 报错: 406 Not Acceptable

2021-02-25  乐帮网

java

自己使用JAVA写了一个API接口服务,框架借用了spring MVC,当客户端直接调用时遇到Http状态码为 406 (Not Acceptable),尝试过好多办法都不行,甚至调试到从数据库取数据,最终返回时还是报错,可见是由于Json转换这一步出现了问题,经过分析原因就是框架默认使用了jackson序列化,部分依赖的版本不兼容所致,导致数据序列化成Json时出错。

解决办法,咱们别用jackson 了换成fastjson不就行了?于是在配置文件中我引入了fastjson如下:

 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.58</version>
        </dependency>

同时告诉spring mvc我们使用fastjson序列化,如下配置:

<mvc:annotation-driven>
		<mvc:message-converters register-defaults="true">
			<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
				<property name="supportedMediaTypes">
					<list>
						<value>application/json</value>
						<value>text/html;charset=UTF-8</value>
					</list>
				</property>
			</bean>
		</mvc:message-converters>
	</mvc:annotation-driven>

经测以上确实可行。

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力