问题:
今天搭建ssm测试框架的时候,接口返回中总是报错406
根据以往的经验,这种报错很少出现,一般原因有如下:
1.jar包缺失。没有导入相关的json包。
2.springMVC.xml文件中设置servlet-mapping/url-pattern带了后缀.html等
3.没有设置转换器(一般有默认的)。
解决:
检查了许久终于发现了,ssm接口返回的封装类中,没有设置get,set方法,导致序列化失败,但是控制台没有看到错误,导致一直没有定位到问题:
Jackson序列化没有get, set方法的POJO时会出现异常:
com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class JUnitTest$Man and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS);
其中提出了解决方法,但是不需要这样处理。直接给出封装结果类Result<T>的get,set方法。运行正常!Nice!
记录以备忘
网友评论