Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

...

const $Rest;

Creating Rest Client

To create a client use $Rest.Create method by providing the rest RestRequest.Url | service base url.

...

Code Block
languagejs
var client = $Rest.Create('http://api.geonames.org/');

Authenticating Rest Client

Some of rest services may require the authentication. Emakin supports the OpenAuth2 based authentication services and to create a authenticated client please specify the service and identity as below;

...

Code Block
languagejs
var client = $Rest.Create('https://graph.microsoft.com/v1.0/', 'Office365', '', $WorkItem.CompletedBy).EnsureAuthenticated();

Creating Rest Request

After creating client connection you can create rest request and populate parameters as below;

...

Code Block
languagejs
var request = client.Request("sites/{sitePath}/drives")
                .AddUrlParameter("sitePath", sitePath)
                .AddQueryParameter("$select", "id,name");

Populating Rest Request

You may also set http headers with RestRequest.AddHeader method.

Some rest methods requires JSON or XML based body and you can specify the content of request with RestRequest.AddObject or RestRequest.AddXml methods.

Fetching Rest Response

After Request populated you can call the RestRequest.Execute method to execute and fetch RestResponse object. Execute method by default does not perform any error check. If you want to be sure request has successfully executed please use RestRequest.Expect method to specify expected status code.

...

Code Block
languagejs
var response = request.Execute();

if (response.StatusCode == "OK") {
    var val = response.GetHeader('X-Header');
    var obj = response.ToJson();
}

Rest Request Methods

You can also use RestRequest.Get, RestRequest.Delete, RestRequest.Put, RestRequest.Post, RestRequest.Patch methods to call service with corresponding method or you can manually set the RestRequest.Method before executing.

...