OSS探訪

Railsのrequest specからAPIをテストし、OpenAPI文書とSwagger UIを生成する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
2,202
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/08/24
ページ内ナビ

概要

Rswagは、rspec-railsのrequest specをOpenAPIベースのDSLで拡張し、APIの動作検証とドキュメント生成を同じspecから行うtoolkitです。rswag-specsでrequest/responseを検証し、OpenAPI JSON/YAMLを生成し、rswag-apiとrswag-uiで仕様書とSwagger UIをRails applicationから公開できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

request specをOpenAPI DSLとして記述して実行する

path、HTTP method、parameter、response、schemaをRSpecのexampleとして定義し、run_test!で実際のrequestを送ってstatusやresponse bodyを検証できます。

出典:[2]

greenになったspecからOpenAPI文書とUIを生成する

request specを元にrake taskでOpenAPI JSON/YAMLを生成し、Rails Engine経由で仕様fileを公開できます。Swagger UIを組み合わせるとbrowserからoperationを確認・試行できます。

出典:[2][3]

向いている用途

Rails APIのintegration testと利用者向けAPI documentを同じ定義から保守したい場合に向く

既にRSpec request specを使うRails APIで、testとOpenAPI documentの二重管理を減らし、実際のresponse schema検証まで同じworkflowへ組み込みたい場合に向きます。

出典:[2]

導入前の確認

生成仕様を公開contractとして扱うならspec変更のreview範囲を広げる

test DSLがそのままAPI documentのsourceになるため、parameterやresponse schemaの変更はtestだけでなく利用者向けcontractの変更にもなります。API compatibilityを含めてreviewします。

出典:[2]

2.17.0の依存範囲とmaintainer状況を確認する

2.17.0のrswag-specsはRails系dependencyを5.2以上8.2未満としており、releaseではRails 8.1対応が追加されています。一方READMEではmaintainerを募集しているため、長期採用ではissue・release cadenceも確認します。

出典:[4][5][2]

参考にした公式資料

  1. [1]rswag/rswag repository(2026-09-30)
  2. [2]Rswag 2.17.0 README(2026-09-30)
  3. [3]Rswag 2.17.0 gemspec(2026-09-30)
  4. [4]Rswag Specs 2.17.0 gemspec(2026-09-30)
  5. [5]Rswag 2.17.0 release(2026-09-30)
  6. [6]Rswag MIT license(2026-09-30)
編集部からの補足

API testとOpenAPI documentを同じspecから生成できるため、Rails APIで二重管理を減らせます。一方でspec変更が公開contractにも影響するため、testのreviewだけでなくAPI互換性の観点を含める運用が重要です。

3ステップで試す

  1. 1

    Rswag 2.17.0を追加

    既存Rails applicationへstable版を追加します。

    bundle add rswag --version 2.17.0
  2. 2

    Rswagの初期設定を生成

    OpenAPI helper、API endpoint、Swagger UIなどの初期設定を生成します。

    rails g rswag:install
  3. 3

    OpenAPI documentを生成

    request specを作成・実行した後、spec metadataからOpenAPI JSON/YAMLを生成します。

    bundle exec rake rswag:specs:swaggerize
公式READMEで確認

成長

成長の推移 · 直近30日

2,202 Stars

推移データを蓄積中です。

Built with

カテゴリとタグ

カテゴリ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • openapi
  • rswag
  • swagger-ui
Stars
2,202
Forks
454
Watchers
28
Open Issues
26
所有者種別
Organization
主要言語
Ruby
ライセンス
MIT
リポジトリ最終更新
2026/08/24

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?
Rswagとは?RailsのRSpec request specからOpenAPI文書を生成する | OSS探訪