如何在 Spring Hateoas 中更改嵌入集合的 属性 名称
How to change the property name of an embbed collection in Spring Hateos
我正在使用 Spring hateoas 生成 HAL 接口。
我的代码如下所示:
@RequestMapping(method = RequestMethod.GET)
public Resources<Resource<Type>> all() {
List<Resource<Type>> sdf = typeRepository.all().stream().map(type -> {
return new Resource<Type>(type, ControllerLinkBuilder.linkTo(this.getClass()).slash(type.getId()).withSelfRel());
}).collect(Collectors.toList());
Resources<Resource<Type>> resourcesType = new Resources<>(sdf);
resourcesType.add(ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(this.getClass()).all()).withSelfRel());
return resourcesType;
}
生成的 json 如下所示:
{
"_links": {
"self": {
"href": "http://localhost:8080/type"
}
},
"_embedded": {
"typeEntityList": [
{
"id": "4f7fa2da-20e2-4b42-9b45-2d1749825785",
"version": 0,
"name": "name1",
"_links": {
"self": {
"href": "http://localhost:8080/type/4f7fa2da-20e2-4b42-9b45-2d1749825785"
}
}
}
]
}
}
我想更改 "typeEntityList" 的名称,但我找不到它的来源或来源。
有人知道怎么做吗?
看看这里:
http://docs.spring.io/spring-hateoas/docs/0.19.0.RELEASE/reference/html/#spis.rel-provider
您看到的是默认设置。如果将 EVO 变形器放在类路径中,您将得到类似 "types" 的内容。您还可以将 @Relation
注释放在您的实体上,并更改集合和单个资源的 rel 名称。
@RepositoryRestResource(path = "somePath",collectionResourceRel="proper_list_of_items_name")
String collectionResourceRel() default "";
The rel value to use when generating links to the collection resource.
我正在使用 Spring hateoas 生成 HAL 接口。 我的代码如下所示:
@RequestMapping(method = RequestMethod.GET)
public Resources<Resource<Type>> all() {
List<Resource<Type>> sdf = typeRepository.all().stream().map(type -> {
return new Resource<Type>(type, ControllerLinkBuilder.linkTo(this.getClass()).slash(type.getId()).withSelfRel());
}).collect(Collectors.toList());
Resources<Resource<Type>> resourcesType = new Resources<>(sdf);
resourcesType.add(ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(this.getClass()).all()).withSelfRel());
return resourcesType;
}
生成的 json 如下所示:
{
"_links": {
"self": {
"href": "http://localhost:8080/type"
}
},
"_embedded": {
"typeEntityList": [
{
"id": "4f7fa2da-20e2-4b42-9b45-2d1749825785",
"version": 0,
"name": "name1",
"_links": {
"self": {
"href": "http://localhost:8080/type/4f7fa2da-20e2-4b42-9b45-2d1749825785"
}
}
}
]
}
}
我想更改 "typeEntityList" 的名称,但我找不到它的来源或来源。 有人知道怎么做吗?
看看这里: http://docs.spring.io/spring-hateoas/docs/0.19.0.RELEASE/reference/html/#spis.rel-provider
您看到的是默认设置。如果将 EVO 变形器放在类路径中,您将得到类似 "types" 的内容。您还可以将 @Relation
注释放在您的实体上,并更改集合和单个资源的 rel 名称。
@RepositoryRestResource(path = "somePath",collectionResourceRel="proper_list_of_items_name")
String collectionResourceRel() default "";
The rel value to use when generating links to the collection resource.