はい、できます!
2025年4月17日にリリースされたPostman 11.41.4で、コレクションの型サポート (Types in Collections) が追加され、APIリクエストのパラメーター、ヘッダー、ボディでスキーマを設定することで、入力する値に様々な制約をかけることができるようになりました。ここで列挙値 (Enum Values) の指定が可能であるため、あらかじめ設定された選択肢から値を選ぶことができます。
詳しくは次のオンラインドキュメント(英語)をご覧いただければと思いますが、以下では簡単にやり方を説明します。
コレクションの型サポートを有効にする
お使いのPostmanのバージョンがv11.41.4以降であることを確認したら、まずはコレクションを作成(もしくは既存のコレクションを選択)して、コレクションに対して型サポートを有効にする必要があります。
コレクションのコンテキストメニュー(コレクション名の右端の「・・・」ボタン、または右クリック)から「もっと見る」→「タイプを有効にする」を選択します。
そうすると、次のような解説が表示されますが、コレクションとしての見た目は変化がありません。
パラメーターの値を選択肢から選べるようにする
そうしたら、リクエストを作成してみましょう。コレクションのコンテキストメニューから「リクエストを追加」を選択します。
そしてサンプルとして、リクエスト内容をそのままエコーしてくれるPostman Echo APIのGETリクエスト用エンドポイント https://postman-echo.com/get を入力します。
さて、ここからが本題です。クエリパラメーター欄では、自由にキーや値を入力できる状態ですが、まず一行目のキーに「city」と入力します。そして欄外をクリックして入力フォーカスを外し、一行目の右端にマウスを動かすと、立方体の形をしたボタンが現れます。
このボタンを押すと、プロパティの型や様々な値の制約を設定できるポップアップが表示されます。ここでTypeに「string」、Possible enum valuesに「tokyo,osaka,fukuoka」というようにカンマ区切りで選択肢の文字列を入力することで、このパラメーターには制約がかかるようになります。
ここでcityパラメーターの値フィールドにマウスを当ててみましょう。そうすると、パラメーターに設定された型と、指定できる列挙値が情報として表示されます。
さらに、値フィールドをクリックすると、列挙値がプルダウンメニューとして表示されるので、この中から値を選ぶだけで入力は完了します。
では、列挙値に無い値を手入力するとどうなるでしょうか。その場合は、値に黄色い波線が引かれた上で、受け入れられない値である旨が警告表示されます。入力の強制ができるわけではないですが、これならすぐに間違いに気づけますね。
ヘッダーの値を選択肢から選べるようにする
ヘッダーの値の設定も同様です。ヘッダーキーを入力した後に、右側のAdditional Propertiesボタンから型と制約の設定ができます。
ボディの値を選択肢から選べるようにする
さて、POSTリクエストでリクエストボディにJSON形式でプロパティを入力する場合には、少し設定の方法が異なります。
ここでは、Postman Echo APIのPOSTリクエスト用エンドポイント https://postman-echo.com/post を持つ新しいリクエストを作成します。そして、「ボディ」タブに移動して「Raw」タイプを選び、「JSON」形式が選択されていることを確認した上で、次のようなJSONデータを入力します。まずはcityプロパティの値は空文字列にしておきましょう。
よく見ると、ボディエディタの右側に「Schema」という欄があることに気づくでしょう。このSchemaエディタでは、型や値の制約に関するJSONデータを記述することで、ボディに指定するJSONデータのスキーマを設定することができます。
最初は、エディタの上にある「Generate from Body」ボタンを押すことで、ボディからスキーマを自動生成して、最低限のスキーマを設定することができるので便利です。
その上で、こちらのドキュメントを参考に、列挙値の設定を加えてみましょう。
これで、ボディのJSONを編集するときも、選択肢のプルダウンメニューや、スキーマチェックの警告が表示されるようになりました。
おわりに
今回はスキーマを使った型と列挙値の設定を取り上げてみましたが、これ以外にも日時やURLなどのフォーマットの制約、説明の追加、必須/任意の設定、廃止済みかどうかの設定、デフォルト値、正規表現パターンによる制約、最大長/最小長、最大値/最小値の設定など、様々な制約や付随情報を追加することができます。
開発の効率がグンと上がること間違い無しですので、ぜひご活用ください!