HTTP Client in RubyMine

Updated . Posted . Visible to the public. Repeats.

RubyMine has a HTTP Client that can be useful to test web APIs.
Just create a .http scratch file an write your request in it.
The request can then be executed with the "Run all requests in File" button above the file.

Some alternatives:

The format for request is like this:

Method Request-URI HTTP-Version
Header-field: Header-value

Request-Body

Some examples:

// A basic get request
GET http://example.com/api/
// A POST with json body
POST http://example.com/api/
Content-Type: application/json

{ "key" : "value" }

It also supports multiple sequential requests, with a JS-API to parse and reuse responses in later requests.
So lets say you need to retrieve an authtoken first and then make your request, you could do:

POST https://example.com/api/auth
Content-Type: application/json

{
    "token": "my-secret-token"
}

// Saving a variable

> {%
    client.global.set("auth_token", response.body.token);
%}

###

//Accessing a variable
GET https://example.com/api
Authorization: Bearer {{auth_token}}

Complete documentation can be found here: https://www.jetbrains.com/help/idea/http-client-in-product-code-editor.html Show archive.org snapshot

Martin Schaflitzl
Last edit
Henning Koch
License
Source code in this card is licensed under the MIT License.
Posted by Martin Schaflitzl to makandra dev (2020-07-07 08:27)