kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

VS Code「REST Client」が便利

「REST Client」はapi開発をしているときに動作確認やテストをするときに便利なツールです。

github.com

いままでpostmanを使用してAPIの確認をしてきましたが、「REST Client」を知ってから全部こちらに移行しました。

なにが便利

  • コードベース
  • 共有が簡単
  • 記述もシンプル

コードベース

これがメリットの全てといっても過言ではないですが、コードで書けることです。

GUIではなくコードで動作、管理できるだけで作業効率が一気に上がりました。

コードベースになることで作業効率が上がる理由は共有の容易さやバージョン管理が理由だと思います。

GUIツールは最初使いやすい分、設定がどこにあるかわからなくなることがあります。人によって管理の仕方が違ったり意外と共有が大変だったりします。

コードベースは最初動作するまでが大変な印象がありますが、設定や管理の仕方が同じになりやすく複製しやすいのがメリットだと思います。

使い方

VSCode拡張機能で「REST Client」をインストール

「sample.http」ファイルを作成し、適当なURLで作成

### sample/get

GET http://localhost/sample/get HTTP/1.1
content-type: application/json


### sample/post
POST http://localhost/sample/post HTTP/1.1
content-type: application/json

「Send Request」をクリックすると、動作します。

簡単です。

いくつかサンプル

GET

### user/show
GET http://localhost/user/show/1 HTTP/1.1
content-type: application/json

POST

### user/store
POST http://localhost/user/store HTTP/1.1
content-type: application/json

{
    "name01": "string1",
    "name02": "string2",
    "kana01": "string1",
    "kana02": "string2",
    "birth": "2000-01-01",
    "sex": 1,
}

他のAPIの値を利用

### login

# @name login


POST http://localhost/login HTTP/1.1
content-type: application/json

{
  "email": "test@example.com",
  "password": "hogehoge"
}

###

@authToken = {{login.response.body.$.access_token}}

認証

token認証を利用。loginはaccess_tokenが値として返却される。loginの「Send Request」をしてから「user/sotre」を動かす。

### login

# @name login


POST http://localhost/login HTTP/1.1
content-type: application/json

{
  "email": "test@example.com",
  "password": "hogehoge"
}

###

@authToken = {{login.response.body.$.access_token}}


### user/store
POST http://localhost/user/store HTTP/1.1
content-type: application/json
Authorization: Bearer {{authToken}} 

{
    "name01": "string1",
    "name02": "string2",
    "kana01": "string1",
    "kana02": "string2",
    "birth": "2000-01-01",
    "sex": 1,
}

共通パラメータの使用

変数

@email = test@example.com
@password = hogehoge


### login

POST http://localhost/customers/login HTTP/1.1
content-type: application/json

{
  "email": "{{email}}",
  "password": "{{password}}"
}

env利用

.envファイルを作成し、値を入力。同じディレクトリのhttpファイルから読むこむことが可能

BASE_URL=http://localhost/api/v1
@baseUrl = {{$dotenv %BASE_URL}}

### sample/get

GET {{baseUrl}}/sample/show HTTP/1.1
content-type: application/json

APIの動作確認やテストで困っていたらぜひ

チームで仕事をしている時にapiはpostmanを利用しており、それぞれの人で秘伝のタレ状態だったためその頃に知っていたら革命的だったと思います。

githubのドキュメントを読むとenv周りはもっと便利なやり方がありますね。 ほかにも色々なことができるみたいです。

個人的に必要な分はサンプルに記述した内容で問題なく使用できています。

api開発での確認で困ったらぜひ使ってみてください。