😎

Postman Code Generator (GUI版)

に公開

PostmanはAPIのテストツールですが、API呼び出しを設定した際にそれをそのままコードで吐き出すことができます。このため開発補助ツールとしての役割を果たす機能も持っています。

GUIのPostman画面から行うGUI版とIDEとの統合を想定されているSDK版の2種類があります。
SDK版は以下に公式ドキュメントとGitレポジトリが公開されています。
https://learning.postman.com/docs/developer/code-generators/
https://github.com/postmanlabs/postman-code-generators

今日はGUI版をやってみます

さっそくやってみる

手順は本当に簡単です。まず何でもよいのでAPI呼び出しをCollectionとして作成します。

その後右側ペインに存在するコードをクリックします。

デフォルトでcurlコマンドが出てきます。

cURLのドロップダウンとクリックすると様々なコードスニペットが出てきます。

いくつか試してみます。

var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'POST',
  'hostname': 'test.requestcatcher.com',
  'path': '/',
  'headers': {
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("test.requestcatcher.com")
payload = ''
headers = {}
conn.request("POST", "/", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

変数の取り扱い

このコード自動生成ではPostman側が認識している変数は定数として出てくるので注意が必要です。

ビルトイン変数

https://zenn.dev/kameoncloud/articles/4fb92611c62664
で触れたようなPostmanネイティブ変数も定数に変換後出力されます。

認証トークン

変数が定数に置き換わって出力されるのと同様に本来マスクされているテスト用認証トークンもそのまま出力されます。
出力されたコードでは画面上ではトークンがマスクされていますが、コピーするとクリップボードには生文字列で入っています。このためこの機能を使う場合は、Postmanコレクション設定でトークンを外してから実行する、などうっかりトークンを漏らさないような配慮が必要です。

Discussion