mysql - JacksonMapping Exception::HttpMessageNotWritableException:无法写入内容:(是 java.lang.NullPointerException)

标签 mysql json spring jackson

  • 框架 Spring MVC 4.x
  • 休眠 4.x
  • jackson 2.8

我有两列,一列是 publishDatecreatedDate。发布日期用户需要手动输入。 MySQL 列中的创建日期默认设置为 CURRENT_TIMESTAMP,因此当创建条目时,DB 会自动为条目添加时间戳。

我有一本书 POJO publishDatecreatedDate 字段... publishDate 出于某种原因可以处理空数据。但是 Timestamp 字段出现异常。这是为什么?

org.springframework.http.converter.HttpMessageNotWritableException: Could not 
write content: (was java.lang.NullPointerException) (through reference chain: 
java.util.HashMap["results"]->java.util.ArrayList[30]-
>com.app.books.Book["dateCreated"]); nested exception is 
com.fasterxml.jackson.databind.JsonMappingException: (was 
java.lang.NullPointerException) (through reference chain: 
java.util.HashMap["results"]->java.util.ArrayList[30]-
>com.app.books.Book["dateCreated"])

我试图通过添加注释来抑制这种情况,我尝试了其中的几个,因为我一直在阅读评论部分的冲突信息以供使用。

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) // but show JsonSerialize is deprecated

@JsonInclude(Include.NON_NULL)// Include can not be resolved as variable

@JsonInclude(JsonInclude.Include.NON_DEFAULT) // finally doesn't give me an error but I still get the same exception.

这是我的书课

@Entity
@Table(name="books")
@Component
public class Book implements Serializable{


/**
 * 
 */
private static final long serialVersionUID = -2042607611480064259L;

@Id
@GeneratedValue
private int id;

@NotBlank
private String name;

@NotBlank
@Size(min=2, max=16)
private String ispn;

@DecimalMin(value = "0.1")
private double price;

//@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
//@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
//@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_DEFAULT)
private Timestamp dateCreated;

private Date datePublished;

非常苦恼...感谢您的帮助..

最佳答案

在 Book 类中从原语(int 和 double)切换到 Java 类(Int 和 Double)可能会有更好的结果。参见 JsonMappingException (was java.lang.NullPointerException)还有JSON: JsonMappingException while try to deserialize object with null values

关于mysql - JacksonMapping Exception::HttpMessageNotWritableException:无法写入内容:(是 java.lang.NullPointerException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43883962/

相关文章:

java - Jackson Csv to Json 库可以处理的最大文件大小是多少?

javascript - 从多个表单字段获取数据并动态创建 JSON 字符串

java - jar找不到里面文件的路径

java - Jetty Maven 插件重新加载忽略 web.xml 监听器

mysql - 如何创建一个快速查询,根据数据子集将聚合结果返回到单独的列中?

MySQL: 无法创建表 (errno: 150)

mysql - Phpmyadmin - Mysql 无权限

mysql - 数据库设计 : need composite key + foreign key Part 2

json - Swashbuckle、Swagger 模式和格式注释或 XML 注释

Java Spring Rest API。返回引用的对象或对象的 id?