CrudRepository REST 响应中的重复 _links 键
Duplicate _links key in CrudRepository REST response
问题:
CrudRepository return 错误的 JSON 具有重复 _links 键的响应
{"_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;
}
如果我包含 jackson-databind 就会出现问题。
<artifactId>jackson-databind</artifactId>
<version>2.6.0</version>
spring-hateoas 的最新版本包括 jackson-databind 2.4.6。
在 jackson-databind 2.6.0 JsonSerialize.Inclusion
中已弃用; JsonInclude
应该改用。来自 spring-hateoas (ResourcesMixin
, ResourceSupportMixin
& LinkMixin
) 的 Mixin 类 使用显然被忽略的 JsonSerialize.Inclusion
。
解决方案:使用jackson-databind 2.5.4(或更低版本)直到jackson版本在spring-hateoas中更新。
问题: CrudRepository return 错误的 JSON 具有重复 _links 键的响应
{"_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;
}
如果我包含 jackson-databind 就会出现问题。
<artifactId>jackson-databind</artifactId>
<version>2.6.0</version>
spring-hateoas 的最新版本包括 jackson-databind 2.4.6。
在 jackson-databind 2.6.0 JsonSerialize.Inclusion
中已弃用; JsonInclude
应该改用。来自 spring-hateoas (ResourcesMixin
, ResourceSupportMixin
& LinkMixin
) 的 Mixin 类 使用显然被忽略的 JsonSerialize.Inclusion
。
解决方案:使用jackson-databind 2.5.4(或更低版本)直到jackson版本在spring-hateoas中更新。