Spring MVC Controller中的一个读入和返回都是JSON的方法怎么获取javax.validation注解的错误信息?

本帖最后由 LonelyCoder2012 于 2014-03-14 03:16:27 编辑

标题可能有点绕,看代码就明白了:

这是我的User类:

import org.hibernate.validator.constraints.NotBlank;

import org.hibernate.validator.constraints.Range;

public class User {

private int id;

private String name;

private int age;

private String address;

public User() {

}

public User(String name) {

this.name = name;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

@NotBlank(message = "请输入姓名")

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

@Range(min = 0, max = 200, message = "请输入真实年龄")

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

@NotBlank(message = "请输入住址")

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

我的Controller的方法之一是这样写的:

@ResponseBody

@RequestMapping(value = "action/add", method = RequestMethod.POST)

public Object addUser(@RequestBody @Validated User user/*, BindingResult bindingResult*/) {

/*if(bindingResult.hasErrors() {

return message;

*/

userService.saveUser(user);

return user;

}

addUser方法读入和输出都是JSON。

问题是:我能不能在addUser方法中获取User类的validation注解中定义的message信息并以JSON返回?

------解决方案--------------------

这个当然可以了。你需要使用 HandlerExceptionResolver。

public class BaseExceptionHandler implements HandlerExceptionResolver {

@Override

public ModelAndView resolveException(HttpServletRequest request,

HttpServletResponse response, Object handler, Exception ex) {

response.setStatus(HttpStatus.BAD_REQUEST.value());//返回 400 错误

if (ex instanceof BaseException) {//自定�?RtuploadException,直接返�?

return JsonView.Render(ex, response);

} else {//非自定义 RtuploadException,返回新 RtuploadException 实例

return JsonView.Render(new BaseException(GlobalConstant.ERROR_CODE_9000), response);

}

}

}

然后 spring 注入:

java注解返回不同消息,Spring MVC Controller中的一个读入和返回都是JSON的方法如何获取javax.validation注解的异常信息...相关推荐

  1. Spring MVC Controller中返回json数据中文乱码处理

    问题 在使用spring MVC Controller的过程中,发现返回到客户端的的中文出现乱码.后台Java代码: @RequestMapping(value = "/upload&quo ...

  2. java个十百千万位余数_java中求一个整数个十百千位的方法

    展开全部 主要的思想是先将这个整数对10求余,636f707962616964757a686964616f31333337396333得到个位数,再将整数除以10得到个位数以外的其余数(除以10之后因 ...

  3. Spring MVC Controller 的同一个 URL 请求,根据逻辑判断返回 JSON 或者 HTML 视图

    为什么80%的码农都做不了架构师?>>>    需求 有这样一个需求,用户注册时,对于浏览器终端和非浏览器终端发起的 HTTP 请求,都走同一个 URL:/user/register ...

  4. java配置springmvc_Java方式配置Spring MVC

    概述 使用Java方式配置Spring MVC,以及回顾一下Spring MVC的各种用法. Spring MVC简述 关于Spring MVC的介绍网上有很多,这里就不再赘述了,只是要说一下,Spr ...

  5. Spring MVC Controller 要点

    2019独角兽企业重金招聘Python工程师标准>>> 今天看到一篇讲解 Spring MVC Controller 的文章,比较详细,顺道翻译下. 在 Spring MVC 中,我 ...

  6. java springmvc https_【Java Web开发学习】Spring MVC 使用HTTP信息转换器

    [Java Web开发学习]Spring MVC 使用HTTP信息转换器 @ResponseBody和@RequestBody是启用消息转换的一种简洁和强大方式 消息转换(message conver ...

  7. spring mvc controller间跳转 重定向 传参

    spring mvc controller间跳转 重定向 传参 1. 需求背景     需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形 ...

  8. 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor

    [Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...

  9. Spring MVC Controller与jquery ajax请求处理json

    在用 spring mvc 写应用的时候发现jquery传递的[json数组对象]参数后台接收不到,多订单的处理,ajax请求: var cmd = {orders:[{"storeId&q ...

最新文章

  1. 用MATLAB画桌子,怎样用matlab编写桌子的动态变化图
  2. thinkpad重装系统不引导_thinkpad重装系统不引导_联想电脑重装系统无法引导原因及解决方法...
  3. 服务器负载暴涨以后...
  4. kalman 滤波 演示与opencv代码
  5. 服务器webpack构建性能,[译] 优化 WEBPACK 以更快地构建 REACT
  6. 最受推荐的 9本全栈开发书籍,助web前端开发学习
  7. linux模拟磁盘和用户管理总结
  8. NGINX api网关(mark 有空填坑)
  9. Android -----paint cap join 理解 ,paint画笔形状设置
  10. Java毕设项目航空订票系统火车票订购系统(2021最新)
  11. 基于163邮件服务器实现邮箱验证
  12. winxp如何打开计算机的端口,xp系统怎么打开445端口呢?开启445端口的教程
  13. 寻找春天nbsp;九宫格日记-2011.04.17
  14. mysql 枚举索引_MySQL 索引总结
  15. Android应用实现开机自启动
  16. 欧姆龙PLC的FinsTCP协议
  17. 关于php的外文论文,php毕业设计外文翻译--通过PHP访问MySQL(适用于毕业论文外文翻译+中英文对照).doc...
  18. re学习笔记(25)BUUCTF-re-[2019红帽杯]easyRE
  19. 人生辣么多的谎言,没必要一个个试一下
  20. Android显示系统详解

热门文章

  1. 深度学习(4)基础4 -- 神经网络架构激活函数过拟合处理
  2. 【神经网络】(4) 卷积神经网络(CNN),自定义网络,案例:彩色图像10分类
  3. 计算机社团部门职责,部门职责
  4. matlab中调用java代码_Matlab中调用第三方Java代码
  5. 动机模型_一个模型教你如何激发学习动机
  6. ttc转换ttf字体在线_R 语言画图中英文字体解决方案
  7. websphere mq 查看队列中是否有数据_全网最全的 “消息队列”
  8. g-git 相关命令 及其 基本原理探索(二):git 在工作中的常用命令操作 ,超级实用!!!
  9. C语言中整型浮点型在计算机中的存储
  10. nyoj——297(期望)