Postman Spec Hub
先日Postmanが開催している年次カンファレンスであるPOST/CON 25でいくつかの新機能がリリースされました。
中の人である川崎さんがそれぞれの機能のサマリーをXでポスト(Postmanだけに・・・やかましい、ごめんなさい)してくれています。
それらを触っていこうと思います。第二回目はSpec Hubです。
Spec Hub とは
PostmanはCollectionという機能を用いてAPIコールを設定しテストを行うことが可能です。CollectionではGUIをベースとした作業によるAPIコールの作成の他に、CLI経由でjsonによるAPI作成、curlコマンドをインポートすることが可能ですが、それに加えてOpenAPI3.0 準拠のAPI諸元をインポートすることも可能でした。
コレクションはAPIコールをまとめて管理することは可能である一方、APIコールを作成するAPI諸元である、OpenAPI3.0の管理することは行えませんでした。新しく発表されたSpec Hubを使うことで、OpenaPI3.0やAsyncAPI2.0準拠のAPI諸元をまとめて管理し、そこからコレクションを作成することが可能となりました。
企業がAPIを開発する場合、土台となるAPI諸元をあらかじめ共通ルールとして定めておき、そこから派生させて各プロジェクト毎のAPIを作成する、ということがこれにより簡単に行えるようになります。
さっそくやってみる
無償バージョンのPostmanだと1つSpec HubでAPI諸元を管理できるようになっていますので、それをためしていきます。
まず左ペイン一番下の四角の集合体をクリックします。
Specs
のトグルをオンにします。
Create New
をクリックし、OpenAPI 3.0
を選択します。
以下の様にOpenAPI3.0のAPI諸元を管理する画面が起動します。
以下の値をコードエディタに貼り付けます。
openapi: 3.0.0
info:
title: Kameda RequestCatcher API
version: 1.0.0
description: RequestCatcher に JSON データを POST するサンプル API
servers:
- url: https://kameda.requestcatcher.com
paths:
/:
post:
summary: JSON データを POST
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
message:
type: string
example: "これはテストメッセージです"
timestamp:
type: string
format: date-time
example: "2025-06-07T21:59:34+09:00"
responses:
'200':
description: リクエストが正常にキャッチされました
'400':
description: 不正なリクエスト
右側にこのようにyamlを解析した内容が表示されます。
コードエディタでは構造解析が自動で行われ開発補助機能が提供されています。
ではこのAPI諸元をもとに、Collectionを作成します。Generate Collection
をクリックします。
無事APIコールがCollectionに生成されました。
Collection から Spec Hub へのエクスポート
Spec Hubには上記とは逆のステップもサポートされています。つまりすでに作成されているCollectionから Spec Hub へ Specification をエクスポート可能です。
Generate specification
をクリックします。
エクスポート形式をyaml
かjson
から選択します。
無事Spec Hub にOpenAPI3.0準拠のAPI諸元がyaml形式でエクスポートされています。
Discussion