2017-05-26 39 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

相關問題