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

Profile picture of Martin Schaflitzl
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)