Is apache commons like HttpClient library equivalent supported in Apex Code on Salesforce's Force.com Platform?

393 views Asked by At

I am trying to perform an external Http REST API callout using Apex Class from within my Salesforce Development Organization.

I was wondering if there is support for an equivalent HttpClient library like that of Apache Commons' HttpClient. Is there one?

From the documentation I realize that one way of doing it would be use the System.Http class to perform the request. Refer here for :Salesforce's System Classes and System.Http.

Example:

public class HttpCalloutSample {

    // Pass in the endpoint to be used using the string url
      public String getContent(String url) {

    // Instantiate a new http object
        Http h = new Http();

    // Instantiate a new HTTP request, specify the method (GET) as well as the endpoint
        HttpRequest req = new HttpRequest();
        req.setEndpoint(url);
        req.setMethod('GET');

    // Send the request, and return a response
        HttpResponse res = h.send(req);
        return res.getBody();
    }
}

The reason I am asking this question is because I remember running across a Apex Code Snippet from a tutorial that used such an API. I cant seem to find it now.

P.S: I understand the the Apex Code is a different language and Java libraries like the HttpClient do not run on the Salesforce platform. And there may not be direct language level way to integrate them both, unless there is a Apex Code binding to the library.

1

There are 1 answers

2
superfell On BEST ANSWER

The System.HTTP class and friends is the only way to make HTTP requests from ApexCode. As you say apex is not java and you can't run random java libraries in apex.