投影处理问题中的空引用和集合

时间:2015-06-17 00:09:32

标签: rest spring-mvc projection spring-data-rest

在为我的某个实体创建Projection类时出现问题。当对象的一个​​嵌入元素为空时,问题就会引发。

投影类来源是:

@Projection(name = "summary", types = {Question.class})
public interface QuestionProjection {

    Long getId();

    @Value("#{target.getResource().getResourceUrl()}")
    String getResourceUrl();
}

JSON对象的结构在这里(对应的@Entity类,相应地创建了getter / setter方法):

"_embedded" : {
"Rest API" : [ {
  "text" : "text",
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/rest/questions/9{?projection}",
      "templated" : true
    },
    "resource" : {
      "href" : "http://localhost:8080/rest/questions/9/resource"
    },
    "approver" : {
      "href" : "http://localhost:8080/rest/questions/9/approver"
    }
  }

当我关注链接http://localhost:8080/rest/questions/9/resource时,我看到一个空白页面(根本没有数据,元素为空)。

当我使用新创建的投影时,我也会收到以下错误:

Resolving exception from handler [public org.springframework.hateoas.Resources<?> org.springframework.data.rest.webmvc.RepositoryEntityController.getCollectionResource(org.springframework.data.rest.webmvc.RootResourceInformation,org.springframework.data.rest.webmvc.support.DefaultedPageable,org.springframework.data.domain.Sort,org.springframework.data.rest.webmvc.PersistentEntityResourceAssembler) throws org.springframework.data.rest.webmvc.ResourceNotFoundException

所以问题是 - 在空嵌入元素(集合)的情况下如何摆脱NPE?我可以对嵌入式元素进行某种条件处理吗?

提前谢谢。

0 个答案:

没有答案