前提・実現したいこと
railsで、jsonで書いたswaggerからSwagger UIの「example value」にあたるリクエストパラメータのjsonデータを作成したいのですが、もしもgemなどで簡単にできる良い方法があれば教えていただきたいです。
試したこと
色々検索してみましたがそれらしきものが見当たりませんでした・・・
補足情報(FW/ツールのバージョンなど)
Ruby 2.6
Rails 6
追記
JSON::Fuzz::Generator というgemを見つけてこれだ!と思ったのですが、思うように変換できず・・・
例)
swaggerからリクエスト定義部分を抽出
json
1{ 2 "additionalProperties": false, 3 "required": [ 4 "hoge_tables" 5 ], 6 "properties": { 7 "hoge_tables": { 8 "type": "array", 9 "items": { 10 "type": "object", 11 "additionalProperties": false, 12 "required": [ 13 "hoge_id", 14 "hoge_num" 15 ], 16 "properties": { 17 "hoge_id": { 18 "type": "integer", 19 "format": "int64", 20 "example": 1 21 }, 22 "hoge_num": { 23 "type": "number", 24 "format": "float", 25 "minimum": 0.0001 26 } 27 } 28 } 29 } 30 } 31}
こちらをJSON::Fuzz::Generator.default_paramで変換すると
json
1{"hoge_tables"=>{"hoge_id"=>86, "hoge_num"=>0.0001}}
とarrayが無視されて出力されますが、Swagger UIでは
json
1{ 2 "hoge_tables": [ 3 { 4 "hoge_id": 1, 5 "hoge_num": 0 6 } 7 ] 8}
とhoge_tablesがスキーマの指定通り配列で出力されており、こちらのSwagger UIの結果の形で出力されて欲しいのですが・・・
あなたの回答
tips
プレビュー