当前位置: 首页 > news >正文

flash网站模板带后台做童装在哪个网站找客户

flash网站模板带后台,做童装在哪个网站找客户,redis wordpress 内存,商标注册核名查询系统这是该系列中有关Spring REST异常处理的最后一篇文章。 最后#xff0c;这次我将讨论在表单处理期间可能发生的REST异常的处理。 因此#xff0c;在本教程中#xff0c;您将看到与REST#xff0c;表单和异常处理有关的所有内容。 客户端呢#xff1f; jQuery将用于反映RES… 这是该系列中有关Spring REST异常处理的最后一篇文章。 最后这次我将讨论在表单处理期间可能发生的REST异常的处理。 因此在本教程中您将看到与REST表单和异常处理有关的所有内容。 客户端呢 jQuery将用于反映REST服务的所有响应。 与以前的教程一样我将使用Smartphone应用程序 。 现在是宣布此帖子主要目的的好时机– 智能手机实体需要在创建和编辑之前进行验证。 让我们看一下更新的Smartphone类 Entity Table(namesmartphones) public class Smartphone {IdGeneratedValueprivate Integer id;Length(min1, max20)private String producer;Length(min1, max20)private String model;Range(min1, max1500)private double price;/*** Method updates already existed {link Smartphone} object with values from the inputed argument.* param sPhone - Object which contains new Smartphone values.* return {link Smartphone} object to which this method applied.*/public Smartphone update(Smartphone sPhone) {this.producer sPhone.producer;this.model sPhone.model;this.price sPhone.price;return this;}Overridepublic String toString() {return producer: model with price price;}//getters and setters are omitted} 请注意Length和Range批注。 这些注释是bean验证的标准方法。 在通过添加以下依赖项来更新已存在的pom.xml文件之后可以使用这些注释 org.hibernatehibernate-validator5.0.1.Finaljavax.validationvalidation-api1.1.0.Final 在此之后我需要更新messages.properties文件 Length.smartphone.producer Length of a Smartphone producer should be from 1 to 20 characters. Length.smartphone.model Length of a Smartphone model should be from 1 to 20 characters. Range.smartphone.price Price of a Smartphone should be from 1 to 1 500.00 $ 现在让我们看一下SmartphoneController类中的createSmartphone方法 ...RequestMapping(value/create, methodRequestMethod.POST, produces MediaType.APPLICATION_JSON_VALUE,consumes MediaType.APPLICATION_JSON_VALUE)ResponseBodypublic Smartphone createSmartphone(RequestBody Valid Smartphone smartphone) {return smartphoneService.create(smartphone);} ... Valid注释应用于方法参数。 要特别注意缺少BindingResult 它不需要像传统的Spring MVC应用程序中那样进行验证。 如果Smartphone对象中的某些属性的值不合适则Value批注将引发MethodArgumentNotValidException 。 在实体创建/编辑期间处理异常需要使用不同的模型来表示信息。 我的意思是上一篇文章中的 ErrorInfo类。 我们需要传输其他信息其中包含错误字段名称和该字段的某些错误消息。 为此这里是一个新类 public class ErrorFormInfo {private String url;private String message;private List FieldErrorDTO fieldErrors new ArrayList FieldErrorDTO ();public ErrorFormInfo() {}public ErrorFormInfo(String url, String message) {this.url url;this.message message;}public ErrorFormInfo(List FieldErrorDTO fieldErrors, String url, String message) {this.fieldErrors fieldErrors;this.url url;this.message message;}//getters and setters are omitted} 第二个类是FieldErrorDTO它在上面的代码示例中使用 public class FieldErrorDTO {private String fieldName;private String fieldError;public FieldErrorDTO(String fieldName, String fieldError) {this.fieldName fieldName;this.fieldError fieldError;}//getters and setters are omitted} 引入错误传输对象后我可以继续ControllerAdvice类中的错误处理。 这是RestExceptionProcessor类的代码片段 ...ExceptionHandler(MethodArgumentNotValidException.class)ResponseStatus(valueHttpStatus.BAD_REQUEST)ResponseBodypublic ErrorFormInfo handleMethodArgumentNotValid(HttpServletRequest req, MethodArgumentNotValidException ex) {String errorMessage localizeErrorMessage(error.bad.arguments);String errorURL req.getRequestURL().toString();ErrorFormInfo errorInfo new ErrorFormInfo(errorURL, errorMessage);BindingResult result ex.getBindingResult(); List FieldError fieldErrors result.getFieldErrors();errorInfo.getFieldErrors().addAll(populateFieldErrors(fieldErrors));return errorInfo;}/*** Method populates {link List} of {link FieldErrorDTO} objects. Each list item contains* localized error message and name of a form field which caused the exception.* Use the {link #localizeErrorMessage(String) localizeErrorMessage} method.* * param fieldErrorList - {link List} of {link FieldError} items* return {link List} of {link FieldErrorDTO} items*/public List FieldErrorDTO populateFieldErrors(List FieldError fieldErrorList) {List FieldErrorDTO fieldErrors new ArrayList FieldErrorDTO ();StringBuilder errorMessage new StringBuilder();for (FieldError fieldError : fieldErrorList) {errorMessage.append(fieldError.getCode()).append(.);errorMessage.append(fieldError.getObjectName()).append(.);errorMessage.append(fieldError.getField());String localizedErrorMsg localizeErrorMessage(errorMessage.toString());fieldErrors.add(new FieldErrorDTO(fieldError.getField(), localizedErrorMsg));errorMessage.delete(0, errorMessage.capacity());}return fieldErrors;}/*** Method retrieves appropriate localized error message from the {link MessageSource}.* * param errorCode - key of the error message* return {link String} localized error message */public String localizeErrorMessage(String errorCode) {Locale locale LocaleContextHolder.getLocale();String errorMessage messageSource.getMessage(errorCode, null, locale);return errorMessage;} ... 可以通过本文开头的链接找到RestExceptionProcessor类的完整版本。 我希望上面的代码片段能自我解释。 如果否请随时在评论中提问。 我需要做的最后一件事是开发客户端代码端 $(document).ready(function() {$(#newSmartphoneForm).submit(function(event) {var producer $(#producer).val();var model $(#model).val();var price $(#price).val();var json { producer : producer, model : model, price: price};$.ajax({url: $(#newSmartphoneForm).attr( action),data: JSON.stringify(json),type: POST,beforeSend: function(xhr) {xhr.setRequestHeader(Accept, application/json);xhr.setRequestHeader(Content-Type, application/json);$(.error).remove();},success: function(smartphone) {var respContent ;respContent Smartphone was created: [;respContent smartphone.producer : ;respContent smartphone.model : ;respContent smartphone.price ];$(#sPhoneFromResponse).html(respContent); },error: function(jqXHR, textStatus, errorThrown) {var respBody $.parseJSON(jqXHR.responseText);var respContent ;respContent ;respContent respBody.message;respContent ;$(#sPhoneFromResponse).html(respContent);$.each(respBody.fieldErrors, function(index, errEntity) {var tdEl $(.errEntity.fieldName-info);tdEl.html(errEntity.fieldError);});}});event.preventDefault();});}); 客户端new-phone.jsp文件的完整版本可通过本文开头的链接找到。 到此为止我必须对上面文章中开发的所有内容进行演示。 因此场景很简单我将打开“新智能手机”页面并提交包含无效数据的表单。 摘要 我希望我关于Spring REST应用程序中异常处理的三篇文章对您有所帮助并且您学到了一些新知识。 这些文章仅重点介绍了异常处理的基本流程以及您只能在实际项目的整个实践中获得的所有其他内容。 感谢您阅读我的博客。 参考 Spring REST异常处理卷。 Fruzenshtein的笔记博客中来自JCG合作伙伴 Alexey Zvolinskiy的3 。 翻译自: https://www.javacodegeeks.com/2013/12/spring-rest-exception-handling-vol-3.html
http://www.zqtcl.cn/news/726373/

相关文章:

  • wordpress显示一个类目seo推广
  • 营销型电子商务网站特点如何申请免费空间和域名
  • 网站建设 主要学是么vk汉化网站谁做的
  • 做英文网站费用多少学校网站开发毕业设计
  • 红动中国设计网站官网网页制作的论文
  • 云阳一平米网站建设西安设计工作室推荐
  • 网站长尾关键词优化网页设计定制代理
  • 海东电子商务网站建设运城市网站建设公司
  • 网站建设得要素电子商务网站建设与维护项目五
  • 网站备案无前置审批文件南宁市建设厅网站
  • 百度网站体检手机网页小游戏
  • 大型购物网站建设费用广告设计与制作软件有哪些
  • 郑州建设工程交易中心网站汉寿做网站的公司
  • 青岛企业做网站startuply中文版wordpress主题
  • 商标设计网站猪八戒网站建设与设计教程
  • 网站建设积分wordpress添加右侧菜单
  • 网站策划资料方案天津优化公司
  • 做网站推广哪家公司好成都最正规的装修公司
  • 菜鸟建网站如何制作推广网站
  • 无锡企业建站系统广州品牌网站建设
  • 什么网站能免费做公众号封面wordpress主题打不开
  • 扬州外贸网站建设制作广告的软件
  • 一个主机怎么做两个网站百度上的网站怎么做
  • 济南建设工程业绩公示的网站wordpress载入等待
  • seo公司名字太原百度seo排名软件
  • 安徽省城乡建设厅网站拼多多关键词排名在哪里看
  • 素材下载网站开发wordpress微信付款插件
  • 网站有什么用河北廊坊建筑模板厂家
  • 永康住房和城乡建设部网站做网站 万户
  • 可信赖的常州网站建设做直播券的网站有多少