使用@ResponseBody后返回500错误

简介: 使用@ResponseBody后返回500错误

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


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


最后就出现了500的异常。


@RequestMapping(value = "/query")
  @ResponseBody
  public Map<String, Object> data(HttpServletRequest request, HttpServletResponse response, CreditloanInfoParams params) {
  Map<String, Object> data = new HashMap<String, Object>();
  if(params==null){
    params=new CreditloanInfoParams();
  }
  PageList<CreditloanInfo> list = (PageList<CreditloanInfo>) 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<String, Object> data = new HashMap<String, Object>();
  /*PageList<Blacklist> blackDatas = (PageList<Blacklist>) blackService.getPageData(params);
  data.put("total", blackDatas.getPaginator().getTotalCount());
  data.put("rows", blackDatas);*/
  //blackService.getPageData(params);
/*  Map data = new HashMap();
  PageList<Blacklist> blackDatas = blackService.getBlackListData(params);
  data.put("total", blackDatas.getPaginator().getTotalCount());
  data.put("rows", blackDatas);*/
  return JSON.toJSONString(blackService.getPageData(params));
  }


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

目录
相关文章
|
XML JSON 前端开发
SpringMVC系列(六)之JSON数据返回以及异常处理机制
SpringMVC系列(六)之JSON数据返回以及异常处理机制
|
JSON 前端开发 Java
SpringMVC之JSON数据返回&异常处理机制
SpringMVC之JSON数据返回&异常处理机制
87 0
|
JSON 监控 Java
【SpringMVC】JSON数据返回及异常处理
Jackson是一个用于Java对象和JSON数据之间相互转换的开源库。它提供了一组强大的API,可以将Java对象序列化为JSON格式的字符串,也可以将JSON字符串反序列化为Java对象。Jackson库由三个核心模块组成::用于将Java对象与JSON数据进行绑定(序列化和反序列化)。它提供了一系列注解,如等,用于指定对象属性与JSON字段之间的映射关系,以及日期、时间等特殊类型的处理方式。Databind模块也提供了一些高级特性,如多态类型处理、双向引用处理等。
|
XML JSON 开发框架
【推荐】SpringMVC与JSON数据返回及异常处理机制的使用
【推荐】SpringMVC与JSON数据返回及异常处理机制的使用
107 0
|
5月前
|
数据采集 移动开发 监控
函数计算操作报错合集之返回时报错:{"ErrorCode":"AccessDenied","ErrorMessage":"unauthorized method 'POST'"},该如何配置
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
6月前
|
JSON 前端开发 Java
为什么参数上必须加@RequestBody?
为什么参数上必须加@RequestBody?
180 0
|
6月前
|
网络安全
GetSmartHandleJob服务返回了"RecordNotExist"错误
【1月更文挑战第13天】【1月更文挑战第62篇】GetSmartHandleJob服务返回了"RecordNotExist"错误
32 2
|
11月前
|
XML 存储 JSON
SpringMVC之JSON数据返回及异常处理机制
SpringMVC之JSON数据返回及异常处理机制
|
12月前
|
JSON 前端开发 Java
SpringMVC之JSON数据返回与异常处理机制---全方面讲解
SpringMVC之JSON数据返回与异常处理机制---全方面讲解
246 0