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 不能设置。
我正在尝试将 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 不能设置。