不要在要序列化的dto中随便写getter方法

这是在项目中发生的真实事件

我们有一个基类的dto:

 

当它的子类有成员变量为code,同时没有getter方法时,上述方法就会把子类的code成员变量覆盖掉,这是一个严重的问题.

所以最佳实践就是,不要随便在要序列化的dto中写getter方法.

解决方法如下:

Java代码  

  1. public String getCodeOfError(){  
  2.         if(error==null){  
  3.             return null;  
  4.         }  
  5.         return error.code;  
  6.     }  

 

说明:我使用的序列化 库是Jackson

时间: 2024-08-03 17:33:01

不要在要序列化的dto中随便写getter方法的相关文章

JavaScript中setter和getter方法介绍_javascript技巧

javascript中的setter.getter是平时接触比较少的方法,其本身也并不是标准方法,只在非ie浏览器里支持(ie内核也许有其他方法可以做到呢?暂时不知其解),但是加以利用可以做许多事情,比如: 1.对数据的访问限制: a.value是对value变量的getter方法调用,如果在getter方法实现中抛出异常,可以阻止对value变量的访问 2.对dom变量进行监听: window.name是一个跨域非常好用的dom属性(大名鼎鼎,详见百度),如果覆盖window.name的set

表单序列化与jq中的serialize使用示例

 这篇文章主要介绍了表单序列化与jq中的serialize使用,需要的朋友可以参考下 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml"&g

coreldraw中画表格的方法

问:Coreldraw中如何插入表格? 答:在Coreldraw中绘制表格的方法很多,并没有绝对的画法,根据各人掌握的方法不同均可以采取不同的措施,只要最终结果达到我们想要的就可以了,当然还要注意效率. 下面介绍几种常用的方法: 1.用方格纸工具画,然后解散群组,再更改自己想要的大小就可以了!这对于比较简单的表格比较适用. 2.是用手绘工具,按cbrl 键,你想画什么就画什么,如如果要画正规,就要配用对齐和变形工具,这方法比较老土,但优点是随意性比较强,缺点是把握性比较差. 3.先打好表头文字,

PHP中的常见魔术方法功能作用及用法实例

  这篇文章主要介绍了PHP中的常见魔术方法功能作用及用法实例,本文讲解了构造函数和析构函数__construct()和__desctruct()以及属性重载(Property Overloading)__get()和.__set().__isset()等等魔术方法,需要的朋友可以参考下 概述 在面向对象编程中,PHP提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利.PHP中的魔术方法通常以__(两个下划线)开始,并且不需要显示的调用而是由某种特定的条件出发.这篇文章简单总结了PHP中提

Java 批量删除html中注释内容的方法_java

其实删除html文本中的注释有很多方法,这里就自己随便写了一个处理方法,权当笔记,有需要的同学可以参考. html文本的注释有几个特点: 1. 成对出现,有开始就一定有结束. 2. 注释标签没有嵌套,注释开始标签(以下称为 <!--)下一个一定是其对应的结束标签(以下称为 -->). 3. 一行中可能有多个注释标签对儿. 4. 注释也可以换行. 大致有以下几种情况: 复制代码 代码如下: <html>  <!--This is a head-->  <head&g

用jfreechart生成图形报表在SSH中怎么写,

问题描述 用jfreechart生成图形报表在SSH中怎么写, http://lapulande.iteye.com/blog/847961 从网上找了一个普通的项目好使,然后放SSH就不知道怎么写了, 解决方案 public class BarChart { public static String getBarChart(HttpSession session) throws Exception{ 构造图片方法 action请求 public String bar(){ HttpSessio

ASP.NET中使用Ajax的方法_实用技巧

$.ajax向普通页面发送get请求这是最简单的一种方式了,先简单了解jQuery ajax的语法,最常用的调用方式是这样:$.ajax({settings}); 有几个常用的setting,全部参数及其解释可以去jQuery官方API文档查询 1. type:请求方式 get/post2. url:请求的Uri3. async:请求是否为异步4. headers:自定义的header参数5. data:发往服务器的参数6. dataType:参数格式,常见的有string.json.xml等7

php中的常用魔术方法汇总_php技巧

这篇文章详细的对php中的常用魔术方法进行了整理归纳,分享给大家供大家参考,具体内容如下 1.PHP把所有"__"开头的方法当做魔术方法,所以任何自定义的方法都不能是"__"开头 php提供的重载,是指动态的创建属性或方法.重载是通过魔术方法来实现的.这些魔术方法的参数不能饮用传递,__get(),__set(),__isset(),__unset(),实现类属性重载. 2.当访问类中不可访问的属性时,将调用__get()方法 3.当访问类中不可访问的属性时,根据不

PHP中的常见魔术方法功能作用及用法实例_php实例

概述 在面向对象编程中,PHP提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利.PHP中的魔术方法通常以__(两个下划线)开始,并且不需要显示的调用而是由某种特定的条件出发.这篇文章简单总结了PHP中提供的魔术方法. 开始之前 在总结PHP的魔术方法之前先来定义两个类,以便后边示例使用: 复制代码 代码如下: <?php class Device {     public $name;               public $battery;            public $d