![](/img/trans.png)
[英]Simple RESTful api code in Eclipse giving HTTP Status 500 - Internal Server Error
[英]Calling API from Saleforce is giving error code 500
我有一個REST API可以從 Salesforce 撥出。
API 的授權是通過訪問令牌。
我能夠通過 Salesforce 中的 POST 請求獲取訪問令牌。還通過該令牌從Postman進行了測試,並能夠獲得成功的響應。
我正在使用以下代碼使用訪問令牌標注 API:
String endpoint_x = '*****';//Putting my endpoint here
Http httpObject;
HttpResponse response;
String accessToken;
accessToken = MyUtilityClass.getAccessToken();
jsonBody = json.serializePretty('', true);//Yes, My JSON is empty
HttpRequest request = new HttpRequest();
request.setEndpoint(endpoint_x);
request.setHeader('Authorization', 'Bearer '+accessToken);
request.setMethod('POST');
request.setBody(jsonBody);
httpObject = new Http();
response = httpObject.send(request);
System.debug('Response=' + response);
獲取響應值如下:
System.HttpResponse[Status=Internal Server Error, StatusCode=500]
我試過將“{}”放入 Jsonbody。 在 header 中添加了“內容類型”,但沒有任何效果。
我應該在哪里注意這個?
在Postman中,我沒有在體內放入任何東西,並得到了成功的回應。
為了獲得相同的行為,我在 Apex 中使用了空字符串,如下所示:
jsonBody = json.serializePretty('', true);
但是解析器沒有正常工作。
為了解決這個問題,我創建了一個沒有任何字段的 class:
class ClassForEmptyBody{
}
並在序列化程序中使用了 class 中的 object:
ClassForEmptyBody classForEmptyBodyObject = new ClassForEmptyBody();
jsonBody = json.serializePretty(classForEmptyBodyObject , true);
如果里面什么都沒有,你為什么要傳遞 json 身體。 只需跳過 setbody 代碼並嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.