Repolode
stoplightio

stoplightio/prism

OpenAPI v2/v3やPostman Collectionから、リクエスト検証と検証プロキシを備えたモックAPIを生成するCLIおよびHTTPサーバー。

代替できる製品:Postman

スター
5,052
フォーク
414
未解決の Issue
147
最終コミット
10 日前

これは何?

Prismは、APIモックとコントラクトテストのためのパッケージ群です。OpenAPI v2、OpenAPI v3.x、またはPostman Collectionのドキュメントを指定すると、仕様に沿ったレスポンスを返すHTTPサーバーを起動できるため、バックエンドがまだなくてもフロントエンドチームやクライアントチームは作業を進められます。

同じツールを、実際のAPIの前段に置く検証プロキシとして動かすこともできます。APIの記述に照らしてトラフィックを検証し、実装とコントラクトの不一致を報告します。コンテンツネゴシエーションとセキュリティ検証にも対応しています。Prismは`prism mock`や`prism proxy`などのコマンドでCLIから実行でき、Node.js 18.20.1以降が必要です。

Stoplightの商用プラットフォームとStoplight Studioでは、Prismを内部で利用したホスト型モックサーバーも提供されています。トラフィックを記録してOpenAPIドキュメントを生成する機能と、モックデータを永続化する機能は、現行機能ではなく計画中の機能として記載されています。

主な機能

  • 01OpenAPI v2、v3.0、v3.1、またはPostman CollectionのファイルからモックHTTPサーバーを生成する。
  • 02API仕様に照らしてリクエストとレスポンスを検証する。
  • 03稼働中のAPIの前段で検証プロキシとして動作し、コントラクトの不一致を検出する。
  • 04コンテンツネゴシエーションとセキュリティ検証に対応する。
  • 05CLIから実行でき、継続的インテグレーションでも利用できる。

ユースケース

  • バックエンドの実装前に、フロントエンド開発者がAPIを使って開発できるようにする。
  • テスト中に、稼働中のAPIがOpenAPIコントラクトに引き続き準拠しているか確認する。
  • CIパイプラインでAPI依存先をモックして実行する。
  • 現実的なサンプルレスポンスを使って、関係者にAPI設計をデモする。

クイックスタート

  1. 1

    npm で Prism CLI をインストールします(Node.js 18.20.1 以降が必要です)

    npm install -g @stoplight/prism-cli
  2. 2

    OpenAPI ドキュメントからモックサーバーを起動します

    prism mock https://raw.githack.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore-expanded.yaml
  3. 3

    または、既存の API の前段で検証プロキシを実行します

    prism proxy examples/petstore.oas2.yaml https://petstore.swagger.io/v2

使う前に知っておきたいこと

  • Node.js 18.20.1 以降が必要です。Node 18.x の場合は 18.16 以降が必要です。

トピック

よくある質問

prism とは?
OpenAPI v2/v3やPostman Collectionから、リクエスト検証と検証プロキシを備えたモックAPIを生成するCLIおよびHTTPサーバー。 Prismは、APIモックとコントラクトテストのためのパッケージ群です。OpenAPI v2、OpenAPI v3.x、またはPostman Collectionのドキュメントを指定すると、仕様に沿ったレスポンスを返すHTTPサーバーを起動できるため、バックエンドがまだなくてもフロントエンドチームやクライアントチームは作業を進められます。
prism は無料で使えますか?ライセンスは?
prism は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
prism は今もメンテナンスされていますか?
活発にメンテナンス中。prism の最終コミットは 2026年10月12日 です。
prism は何に使えますか?
バックエンドの実装前に、フロントエンド開発者がAPIを使って開発できるようにする。 テスト中に、稼働中のAPIがOpenAPIコントラクトに引き続き準拠しているか確認する。 CIパイプラインでAPI依存先をモックして実行する。 現実的なサンプルレスポンスを使って、関係者にAPI設計をデモする。
prism のインストール方法は?
npm で Prism CLI をインストールします(Node.js 18.20.1 以降が必要です): npm install -g @stoplight/prism-cli OpenAPI ドキュメントからモックサーバーを起動します: prism mock https://raw.githack.com/OAI/OpenAPI-Specification/master/examples/v3.0/petstore-expanded.yaml または、既存の API の前段で検証プロキシを実行します: prism proxy examples/petstore.oas2.yaml https://petstore.swagger.io/v2
prism はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/stoplightio/prism

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト