2017-05-26 56 views
1

AbstractRepositoryRestController#entitiesToResources源:返回一个空的“内容”数组当页面没有任何元素

if (page.getContent().isEmpty()) { 
    return pagedResourcesAssembler.toEmptyResource(page, domainType, baseLink); 
} 

当一个页面没有任何元素,春季数据REST是置于"content"节点与无用信息的对象(在我的观点),如:

"content": [ 
    { 
     "relTargetType" : "my.company.ClassName", 
     "collectionValue" : true, 
     "value" : [ ] 
    } 
] 
  1. 什么是提供信息的想法/目的是什么?
  2. 有什么办法可以返回空数组"content": []page.getContent().isEmpty()
  3. 如果不可能,客户应该如何处理这种意外的格式?

他们解析迭代它的content,并将每个元素映射到某个域实体。由于它不是域实体,因此它们失败。获取第一个元素并检查它是否存在某些特定字段(例如relTargetType)看起来很脏,是不是?

回答

0

这是什么东西我想...

import java.util.ArrayList; 
import java.util.List; 

import org.json.simple.JSONObject; 

public class TEST { 

    public static void main(String[] args) { 
     String nullStr = null; 
     List<String> nullListOrArray = null; 
     List<String> emptyListOrArray = new ArrayList<>(); 

     JSONObject json = new JSONObject(); 
     json.put("nullStr", nullStr); 
     json.put("nullListOrArray", nullListOrArray); 
     json.put("emptyListOrArray", emptyListOrArray); 

     System.out.println(json.toString()); 
    } 

} 

JSON字符串输出:{"nullStr":null,"nullListOrArray":null,"emptyListOrArray":[]}

+0

对不起,它是如何相关的问题? – Andrew

+0

你问了如何返回空数组,而不是数组使用列表,并初始化为新列表并将其返回为空 –

+0

当条件特定(页面没有元素)时,我在问如何通过Spring Data serialisers来做到这一点, – Andrew

相关问题