使用@ResponseBody后返回500错误

       在springmvc+mybatis的项目中,利用mybatis分页插件mybatis-paginator进行分页查询,结果出现了500异常,后端又没有明显的报错。

原来的写法,返回Map对象,由springmvc里面的机制转为json对象,这样就会导致,在转json过程中的报错,都隐藏了,无法抛出,前端获取不到正确的数据,

最后就出现了500的异常。

	@RequestMapping(value = "/query")
	@ResponseBody
	public Map data(HttpServletRequest request, HttpServletResponse response, CreditloanInfoParams params) {
		Map data = new HashMap();
		if(params==null){
			params=new CreditloanInfoParams();
		}
		PageList list = (PageList) creditloanInfoService.getCreditloanInfoListData(params);
		data.put("total", list.getPaginator().getTotalCount());
		data.put("rows", list);
		return data;
	}


  改成使用fastJson主动转化为json格式的字符串,这样的好处是,转json过程中如果出现错误,会有很明确的提示。   

	@SuppressWarnings("unchecked")
	@RequestMapping(value = "/query")
	@ResponseBody
	public String data(HttpServletRequest request, HttpServletResponse response, BlackParams params) {
		//Map data = new HashMap();
		/*PageList blackDatas = (PageList) blackService.getPageData(params);
		data.put("total", blackDatas.getPaginator().getTotalCount());
		data.put("rows", blackDatas);*/
		//blackService.getPageData(params);
/*		Map data = new HashMap();
		PageList blackDatas = blackService.getBlackListData(params);
		data.put("total", blackDatas.getPaginator().getTotalCount());
		data.put("rows", blackDatas);*/
		return JSON.toJSONString(blackService.getPageData(params));
	}

最后发现是转json中出现了空指针异常。修复后,问题解决。





你可能感兴趣的:(Spring,java基础)