ResourceSupport getLinks()仅在ResourceProcessor中具有父链接

时间:2016-12-02 15:34:33

标签: spring spring-data spring-data-rest hateoas spring-hateoas

我正在为父类实现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之后处理,但同时制作一个自定义的方法似乎是要走的路

0 个答案:

没有答案