Salesforce Apex 响应 Headers

Salesforce Apex Response Headers

我正在尝试将 content-length header 添加到我的休息回复中,因为它正在返回 'chunked'。

 @HttpGet
  global static RESTBase getCatalog() {
   RestRequest req = RestContext.request;
   RestResponse resp = RestContext.response;
   Map < String, string > respHeader = new Map < String, string > ();

   String storeId = req.requestURI.substring(req.requestURI.lastIndexOf('/') + 1);
   Store__c currentStore = QueryUtils.getStoreFromStoreNumber(storeId);
   if (currentStore == null) {
     CatalogResponse catalogResponse = new CatalogResponse();

     catalogResponse.Status = '404';

     return catalogResponse;
   }

   Map < String, PricebookEntry > priceBookEntries = getPriceBookEntriesForPriceBook(currentStore.Price_Book__c);
   List < TriCom__Category__c > rootCategories = getRootProductCategories();
   Map < String, List < UPC_Code__c >> upcCodeMap = getUPCCodeMap();

   RESTCatalog catalog = new RESTCatalog();

   catalog.PriceBookId = currentStore.Price_Book__c;
   catalog.StoreNumber = currentStore.Name;
   catalog.Categories = createRestCategory(rootCategories, upcCodeMap, priceBookEntries);
       
   String returnJson = JSON.serialize(catalog);
       
   resp.addHeader('Content-Length', String.valueOf(returnJson.length()));

   return catalog;
 }

当我发出获取请求时,我返回:

"errorCode": "APEX_ERROR",
"message": "System.InvalidHeaderException: Header name \"Content-Length\" is not allowed.\\n\\n(System Code)\

如有任何建议,我们将不胜感激。

Salesforce 将自动设置 content-length。实际上记录了这个 header 不能设置。