SpringMVC 类型转换错误自定义返回
来源:互联网 发布:淘宝拍摄培训 编辑:程序博客网 时间:2024/05/15 09:28
在SpringMVC捕获异常只需要实现接口org.springframework.web.servlet.HandlerExceptionResolver,即可自定义返回异常,如:属性转换异常
@RequestMapping("/test")@ResponseBodypublic String str(Integer age) throws Exception {return "test:" + age;}
如果调用方法时传入参数age=abc此时会抛出TypeMismatchException,在自定义的异常捕获中,只需要根据信息进行返回:
package com.cml.mvc.exception;import java.io.IOException;import java.io.Writer;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.beans.TypeMismatchException;import org.springframework.web.servlet.HandlerExceptionResolver;import org.springframework.web.servlet.ModelAndView;import com.cml.mvc.beans.Result;import com.google.gson.Gson;public class MyExceptionHandler implements HandlerExceptionResolver {private static Log log = LogFactory.getLog(MyExceptionHandler.class);@Overridepublic ModelAndView resolveException(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) {log.info("异常捕获=======>" + ex);log.info("异常捕获=======>" + handler);Result result = new Result();// 返回错误信息不为空if (ex instanceof TypeMismatchException && null != ex.getMessage()) {result.setResult(ex.getMessage());} else {result.setResult("500 服务器异常!");}response.setHeader("content-type", "application/json");response.setCharacterEncoding("UTF-8");try {Writer writer = response.getWriter();writer.write(new Gson().toJson(result));writer.close();} catch (IOException e1) {e1.printStackTrace();}return null;}}
这样,属性类型转换错误被自定义返回了,但是也有个缺点,在一个方法总如果有多个参数,但是传入时有多个参数类型错误,只能捕获到第一个属性转换异常信息。
设想:如果可以获取到所有类型转换错误信息,那是多perfect啊,研究中。。。。
0 0
- SpringMVC 类型转换错误自定义返回
- SpringMVC之自定义类型转换WebBindingInitializer@initBinder
- 四、SpringMVC自定义类型数据转换
- 基于springmvc的自定义错误类型
- struts2自定义类型转换错误的消息
- Struts2类型转换----常规类型,自定义类型,错误处理
- Struts2类型转换(一)----常规类型,自定义类型,错误处理
- springMVC 返回Json实体类属性自定义格式转换
- springmvc .html请求返回json数据转换错误
- springMVC 返回类型
- SpringMVC返回值类型
- SpringMVC返回类型
- SpringMvc 返回值类型
- springMVC 返回类型选择
- springMVC 返回类型选择
- SpringMVC返回值类型
- SpringMVC之数据类型的转换及自定义类型转换器
- springMVC接收日期类型参数的自定义转换
- leetcode 5. 两个链表逐个元素相加 Add Two Numbers
- CUDA学习笔记(二)——CUDA扩展
- 第八周项目一实现复数类中的运算符重载(1)
- WebRTC代码走读(四):音频发送流程
- Docker简介及其应用领域
- SpringMVC 类型转换错误自定义返回
- List中的find的两种用法
- android生命周期内函数调用情况
- 创建二叉树
- , new Comparator<ContactsBaseBean>()
- Service(三)详解,2种方式,周期等
- 软件包管理-rpm命令管理-包命名与依赖性
- IntelliJ IDEA+Tomcat+Jrebel 开发及热部署
- kyeremal-网络流24题T5-圆桌问题