我正在为父类实现ResourceProcessor,当我在 process 方法中执行getLinks()时,我只收到自己和父级的链接。但是,当我实际请求资源时,我会获得自己,父母和子女的链接......
代码:
@Bean
public ResourceProcessor<Resource<Parent>> ParentProcessor() {
return new ResourceProcessor<Resource<Parent>>() {
@Override
public Resource<Parent> process(Resource<Parent> resource) {
List<Link> links = resource.getLinks();
//this list has links to 'self' and 'Parent'
return resource;
}
};
}
但请求该资源的JSON如下所示
"_links" : {
"self" : {
"href" : "rest/parents/1",
"templated" : true
},
"parent" : {
"href" : "rest/parents/1"
},
"child1" : {
"href" : "rest/parents/1/child2"
},
"child2" : {
"href" : "rest/parents/1/child2"
},
}
有人可以解释为什么会这样吗?
编辑:事实证明是这样的,因为关联的实体是由ConversionService添加的,不幸的是,在运行处理器之后运行。我很好奇是否有一种方法可以在ConversionService之后处理,但同时制作一个自定义的方法似乎是要走的路