java注解返回不同消息,Spring MVC Controller中的一个读入和返回都是JSON的方法如何获取javax.validation注解的异常信息...
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 注入:
相关文章:

三摄正普及,四摄在路上?谷歌逆天AI算法,只做单摄虚化
作者| 琥珀出品| AI科技大本营想要提高拍照效果,想必对于多数手机厂商而言,给手机塞进更多的摄像头似乎成了当前主流做法,例如“普通摄像头景深摄像头”、“黑白彩色摄像头”、“广角长焦摄像头”……不过,偏偏有这么一家企业反其…

TBContact -- 导出ThunderBird邮件地址本
我写的一个导出ThunderBird邮件地址本的小工具,使用了多线程。其功能有:1 自动检测系统是否装有ThunderBird,并列出所有的地址本文件*.mab。2 可以手工指定一个或多个地址本文件。3 自动检测每个地址本文件里的联系人个数。4 导出每个地址本文…

Linux基础知识入门测试
记录于51CTO的测试题: 第 1 题 Linux中,默认的管理员帐户名称是 A. Administrator B. Admin C. root D. user 第 2 题 在Linux中,如果在文本模式下,可以通过下述的方法进入x window A. 执行startx B. 执行start …

jsp mysql 图片路径,请教JSP中怎么向MySql中存入和取出图片
当前位置:我的异常网 Java Web开发 请教JSP中怎么向MySql中存入和取出图片请教JSP中怎么向MySql中存入和取出图片www.myexceptions.net 网友分享于:2015-08-27 浏览:138次请问JSP中如何向MySql中存入和取出图片?1 直接把图片存入数据库2 把图片的…

开源 | IBM、哈佛共同研发:Seq2Seq模型可视化工具
作者 | Ben Dickson译者 | 刘旭坤编辑 | Jane出品 | AI科技大本营近年来随着深度学习和神经网络技术的发展,机器翻译也取得了长足的进步。神经网络结构越来越复杂,但我们始终无法解释内部发生了什么,“黑箱问题”一直困扰着我们。我们不清楚程…

h3c l2tp ***配置
远程用户-------internet-------F100 采用l2tp方式sysname XXXX //设备名称#l2tp enable //开启l2tp功能 #firewall packet-filter enablefirewall packet-filter default permit#undo connection-limit enableconnection-limit default den…

Blockchain与Big Data将碰撞出怎样的火花?
区块链技术热潮席卷全球,正在与各种新兴技术深入融合——大数据也不例外,卓有远见的企业已将区块链作为未来发展重点。数据开放的大势下,如何保护隐私与安全是大数据领域的难点与挑战。凭借可信与安全的特性,区块链令越来越多高价…

机器学习之开源库
机器学习库(1)scikit-learn [http://scikit-learn.org/] Python下做机器学习,首推scikit-learn。该项目文档齐全、讲解清晰,功能齐备,使用方便,而且社区活跃。 (2)Orange …

arduino跑python,尝试在我的Arduino和stu上执行Python3.7.2中的代码
提前谢谢你。在我会尽量简短。在我有一个ArduinoIDE,有一个串行端口,工作正常。我下载了python3.7.2、PySerial和VPython。全部安装完毕。在通过我的MacBook终端安装了PySerial。sudo easy_install pyserialPassword: Searching for pyserialBest match:…

揭开Windows XP 系统安全模式的密秘
经常使用电脑的人可能都听说过,当电脑出了故障时,Windows会提供一个名为“安全模式”的平台,在这里用户能解决很多问题--不管是硬件(驱动)还是软件的。然而你会使用这个安全模式么?今天我们就来带您认识一下…

matlab文档型数据导入,MATLAB-数据导入
MATLAB-数据导入在MATLAB中导入数据意味着从外部文件加载数据。 importdata函数允许加载不同格式的各种数据文件。它具有以下五种形式-Sr.No.Function & Description1A importdata(filename)Loads data into array A from the file denoted by filename.2A importdata(‘…

专访百度熊辉:有人转AI纯粹因为好找工作,这样的人不是我想要的
2018 年初,学术界的明星人物,美国罗格斯-新泽西州立大学教授、ACM 杰出科学家、长江学者熊辉加盟百度,担任百度商业智能实验室主任以及百度人才智库主任。 从计算机博士到商学院教授,再从学术圈到工业界,熊…

活下去,是一种信念 !
2008年5月12日14:28分以来,读着不想看到的文字和数据,看着不愿看见的图片和画面,已经成了我的主要生活内容。即便是艰难收拾好心情坐在电脑前的此刻,耳边回响的依然是那种撕心裂肺的痛哭和感天动地的呼喊,眼前浮现的依…

我的一个rsync的包装
我完成了一个基于rsync的文件同步方案,其实有人会问,直接用rsync命令不就可以了吗?其实不然,直接用这个命 令的话只能保证得到了同步的效果,审计信息得不到,然而审计信息很重要,比如哪个时间同步…

2018最后一战:25天编程PK赛!
作者 | Jane出品 | AI科技大本营2018 年余额已不足一个月!是惊喜还是惊恐?这一年是充实有意义的一年,还是觉得略有失望?最后这三十天,我们还能学些什么?获得哪些成长?如何为 2019 年准备一个好的…

java 获取已有字体,java获取本机全部可用字体
java获取本机所有可用字体//just for fun,那个28个字母的函数满满都是恶心import java.awt.GraphicsEnvironment ;class Tester{public static void main(String args[]){GraphicsEnvironment ge GraphicsEnvironment.getLocalGraphicsEnvironment();String forName[] ge.get…

mount --bind
mount --bind 能够镜像的把目录挂载到其他路径下mount --bind //此命令可以把目录挂载到其他目录,有镜像功能,会占用两份同样大小的空间,当你umount的时候,所作的镜像会立马消失. $ls ftp tools $cd ftp $mkdir /home/ftp/tools $cd tools $pwd /home/ftp/tools $mount --bin…

Javascript URL编码方法的比较
javascript中存在几种对URL字符串进行编码的方法:escape(),encodeURI(),以及encodeURIComponent()。这几种编码所起的作用各不相同。 escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊…

前端、云与人工智能的碰撞 | GDG广州
活动介绍 随着Google TensorFlow的开源升级、前端技术以及云计算的不断发展更迭,企业和开发者都需要与时俱进,才能不被时代大潮给淘汰。本次GDG沙龙旨在通过多个专题演讲为开发者们分享技术进步和业务经验,聚焦前端技术、人工智能以及云计算…

java三维滑雪,第六章 三维数据空间分析方法.ppt
第六章 三维数据空间分析方法* * * * 可视性分析 * * 自然邻域法插值 基本思路: 利用输入点及邻近栅格单元进行插值生成栅格表面。 方法: 利用输入数据点(样本点)为节点,建立Delaunay三角形; 样本点的邻域为其周边相邻多边形形成的凸集中最小…

求教关于NFS服务器的防火墙的设置
我都研究了两个星期的NFS的防火墙了呀,开了rpcinfo -p 显示的所有端口,有hosts,hosts.allow,hosts.deny下的文件也设置了过了呀,可是我开了防火墙,NFS服务器的客户端和和服务器都无法工作呀,那位好心人帮我下呀,最好是有做的这方面的实例的高手呀,共享下你的成功经验呀转载于:h…

退信之550 5.7.1 Unable to relay for *@*.com
"550 5.7.1 Unable to relay for **.com"是常见的退信之一,今天我们就看看导致这个退信的真实原因,以及在mdaemon邮件服务器中遇到这个问题如何解决。接下来,我们看看来自真实环境退信截图。 退信分析:这是一封sh.com域…

“叽里呱啦”说英语,这家公司要用AI增值语言输出能力
11 月 29 日,在线英语启蒙教育品牌叽里呱啦在北京召开“让天赋发声”品牌发布会。叽里呱啦联合创始人兼 CEO 谢尚毅首次对外公开品牌战略,围绕内容、教研、科技三大教育内核,打造教育 IP,积蓄产品力,搭建英语启蒙教育的…

Windows 文件服务器升级跨林迁移(二)
迁移文件服务器登陆到ADMT迁移服务器上,打开ADMT管理控制台,邮件点击AD迁移工具,选择"计算机迁移向导"点击下一步选择源域为旧的控,目标域为新域控,点击下一步从域中选择计算机,点击下一步添加文…

mytag.class.php,织梦CMS/dedecms织梦模板留言板调用{dede:}标签的头部尾部的方法
织梦模板网站留言板调用网站的head.htm,footer.htm的方法二,好多人都想在留言本guestbook.htm里实现dede的标签调用,问题是在plus里不支持dede标签的应用。现在有一个简单的办法可以调用标签。拿在留言本调用head.htm实例一般我们在首页调用h…

用 GDI 操作 EMF 文件[2]: PlayEnhMetaFile、DeleteEnhMetaFile
创建 EMF 文件, 并同时绘制在窗体.unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implem…

从Storm到Flink:大数据处理的开源系统及编程模型(文末福利)
本文节选自CCF大数据教材系列丛书之《大数据处理》,本书由华中科技大学金海教授主编,包括大数据处理基础技术、大数据处理编程与典型应用处理、大数据处理系统与优化三个方面。本教材以大数据处理编程为核心,从基础、编程到优化等多个方面对大…

mac软件全屏时候最顶上任务栏保留,MAC能不能做一个把程序放在顶部菜单栏的功能...
KochiyaOcean emmmm,我修改了ico为png在app.js 第 22 行const poiIconPath path.join(ROOT,assets,icons,process.platform linux ? poi_32x32.png : poi.png, 将箭头所指的poi.ico 被我修改成了poi.png (不知道你说的是不是修改这里,我看到的icon pa…

Nginx 虚拟主机配置及负载均衡
虚拟主机配置: 在现实中,公司为了充分利用服务器资源 , 一台 Nginx 服务器会同时挂多个站点,这些站点可以基于80端口配置 N 多不同域名的服务器,那么,怎样实现这一功能呢,接下来就让我们学习一下…

明晚8点直播 | 顺丰科技如何利用深度学习赋能智慧物流?
每年年底的双十一已成为盛大的购物节日。而有一个行业在这期间发挥着至关重要的作用——物流。近年来,深度学习已经应用到各行各业中,物流行业也不例外。智慧物流是“互联网”高效物流的重要内容,以智能化技术使物流具有学习、感知、思考、决…