2016-06-14 91 views
1

我的程序是用Java編寫的8,當我使用LocalDateTime的類型,它會給我下面的錯誤沒有合適的構造函數:發現型[簡單類型,類java.time.LocalDateTime]

No suitable constructor found for type [simple type, class java.time.LocalDateTime]: can not instantiate from JSON object (missing default constructor or creator, or perhaps need to add/enable type information?)
at [Source: [[email protected]; line: 1, column: 80] (through reference chain: com.boot.framwork.entity.UserInfo["accessTime"])

實體是這樣的:

public class UserInfo implements Serializable { 

private static final long serialVersionUID = 1L; 

private String username; 

private int age; 

private LocalDateTime accessTime; 

private Date time; 

private List<String> list = new ArrayList<String>(); 

private boolean isMarried; 

public UserInfo() { 

} 

它工作時,我沒有使用LocalDateTime

+0

我使用redis作爲緩存 – Terry

回答

1

在我看來,你沒有JSR310的支持。 Jackson需要一些額外的配置才能識別Java 8數據類型。您可以通過項目的依賴添加它,只需添加一個依賴於this

<dependency> 
    <groupId>com.fasterxml.jackson.datatype</groupId> 
    <artifactId>jackson-datatype-jsr310</artifactId> 
    <version>2.7.4</version> 
</dependency> 

,或者如果您使用的是搖籃

compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.7.4' 

由於您使用SpringBoot,這應該是足夠的,因此沒有,創建一個Bean手動輸入JSR310Module類型。