2015-10-20 56 views
0

問題: 的CrudRepository返回重複的故障JSON響應_links關鍵重複_links在CrudRepository REST響應關鍵

{"_links" : { }, 
"_embedded" : { 
    "skills" : [ { 
     "name" : "REST", 
     "_links" : { }, <----------- Empty Links 
     "_embedded" : { }, 
     "_links" : { <-------------- Usefull Links 
     "self" : { 
      "href" : "http://localhost:8081/api/skills/1", 
      "templated" : false 
     } 
     } 
    } ] } } 

使用的類: 庫: 進口org.springframework.data.repository.CrudRepository;

public interface SkillRepository extends CrudRepository<Skill, Long> {} 

實體:

@Entity 
@Getter 
@Setter 
public class Skill { 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Long id; 

    @NotNull 
    private String name; 

} 

如果我包括傑克遜-數據綁定出現問題。

 <artifactId>jackson-databind</artifactId> 
     <version>2.6.0</version> 

回答

2

最新版本的spring-hateoas包括jackson-databind 2.4.6。

In jackson-databind 2.6.0 JsonSerialize.Inclusion已被棄用;應該使用JsonInclude。來自spring-hateoas的Mixin類(ResourcesMixinResourceSupportMixin & LinkMixin)使用JsonSerialize.Inclusion,這顯然被忽略。

解決方案:使用jackson-databind 2.5.4(或更低版本),直到jackson版本在spring-hateoas中更新。

+1

問題依然存在於版本2.7.2中 –