Visual Studio Code jako zaawansowany REST Client

Development
  • Marcin Golonka
  • 03-01-2023

Visual Studio Code jako REST Client

Wprowadzenie

VS Code zadomowił się dość szybko na rynku IT, jako kompleksowe środowisko programistyczne praktycznie do każdej technologii. Przede wszystkim, Microsoft udostępnił go za darmo, zaskramiając rynek hobbystów, którym nie potrzebne płatne środowisko. Poza tym myśl Open Source, spowodowała to, że społeczność z wielkim entuzjazmem “odpicowało” Code’a za pomocą otwartego interfejsu do rozszerzeń.

W moim codziennym warsztacie pracy VSCode pełni rolę przede wszystkim szybkiego notatnika programistycznego z kolorowaniem składni oraz jako zbiór narzędzi przydatnych w codziennej pracy. I tę drugą stronę chciałbym dziś pokazać. A co jakby VS Code zastąpił nam dedykowane narzędzia do interfejsów REST?

Rozszerzenie - REST Client

Chiński developer Huachao Mao w 2016 roku opublikował w marketplace rozszerzenie REST Client, które szturmem wdało się do listy najpopularnieszych dodatków do VS Code. Aktualnie jest to moim zdaniem, jedno z ciekawszych rozszerzeń, które pojawiło się w Marketplace.

Instalacja

By zainstalować wtyczkę wystarczy wyszukać ją w zakładce Extensions, i kliknąć install.

1

Podstawowe użycie

By zacząć używać REST Clienta, musimy stworzyć plik z rozszerzeniem .http lub .rest

i wywołać przykładowy Endpoint za pomocą składni protokołu RFC 2616.

2

Po kliknięciu przycisku “Send Request”, otrzymamy odpowiedź z serwera.

Gdy chcemy w jednym dokumencie umieścić więcej niż jedno żądanie HTTP, wystarczy rozdzielić je poprzez potrójny hash(###)

Bardziej zaawansowane przykłady

Wiele zapytań i zmienne

Zmienne definiujemy za pomocą @ . Poprzez zmienne możemy odwoływać się do:

  • Zmiennych stworzonych lokalnie w pliku
  • Zmiennych środowiskowych, dzięki czemu możemy łatwo przełączać na przykład URL
  • Predefiniowanych zmiennych losowych, na przykład {{$randomInt min max}}
  • Zmienne systemowe, na przykład DOTNET_ENVIRONMENT

Gdy chcemy wykonać request typu POST, i stworzyć zasób, wystarczy że określimy odpowiednie nagłówki HTTP, oraz podaby body. Body również możemy załadować z pliku

3

Eksport do polecenia cURL

Kolejną funkcjonalnością, którą warto poznać, jest możliwość generowania requestów cURL dla naszych zapytań. Wystarczy że uruchomimy Command Palette(domyślnie F1), i wywołamy polecenie Rest Client: Copy Request As cURL

4

Dzięki czemu, możemy skorzystać z cURL w linii komend 🙂

Wsparcie dla GraphQL

Ponieważ GraphQL również jest transportowane poprzez protokół HTTP, również możemy odpytywać API grafowe, za pomocą VSCode.

5

Generowanie Shippetów kodu

Rozszerzenie pozwala również generować shippety klientów dla endpointów które posiadamy w pliku. Wspierana lista języków jest długa. Między innymi Java,C#,JavaScript,Python itp.

6

Ale po co to wszystko?

Moim zdaniem możliwość tworzenia plików z zapytaniami REST otworzyła furtkę, która pozwala trzymać podstawowy zestaw testowy dla Endpointów w repozytorium, dzięki czemu nie muszę uruchamiać kolejnego narzędzia.

Co więcej, dzięki temu, że formalnie są to pliki testowe, dość łatwo wersjonować swój lub zespołowy podręczny zestaw zapytań.