teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

タイトルの改善

2021/11/25 01:59

投稿

MAOAU
MAOAU

スコア11

title CHANGED
@@ -1,1 +1,1 @@
1
- Swagger JSONからexample valueのJSONデータを生成したい
1
+ Swagger JSON(JSON Schema)からexample valueのJSONデータ(テスト用JSONパラメータ)を生成したい
body CHANGED
File without changes

2

追加で判明した情報を記入したかった

2021/11/25 01:59

投稿

MAOAU
MAOAU

スコア11

title CHANGED
@@ -1,1 +1,1 @@
1
- Swagger JSONからexample valueのJSONを生成したい
1
+ Swagger JSONからexample valueのJSONデータを生成したい
body CHANGED
@@ -9,4 +9,66 @@
9
9
  ### 補足情報(FW/ツールのバージョンなど)
10
10
 
11
11
  Ruby 2.6
12
- Rails 6
12
+ Rails 6
13
+
14
+
15
+ ## 追記
16
+
17
+ JSON::Fuzz::Generator というgemを見つけてこれだ!と思ったのですが、思うように変換できず・・・
18
+
19
+ 例)
20
+ swaggerからリクエスト定義部分を抽出
21
+
22
+ ```json
23
+ {
24
+ "additionalProperties": false,
25
+ "required": [
26
+ "hoge_tables"
27
+ ],
28
+ "properties": {
29
+ "hoge_tables": {
30
+ "type": "array",
31
+ "items": {
32
+ "type": "object",
33
+ "additionalProperties": false,
34
+ "required": [
35
+ "hoge_id",
36
+ "hoge_num"
37
+ ],
38
+ "properties": {
39
+ "hoge_id": {
40
+ "type": "integer",
41
+ "format": "int64",
42
+ "example": 1
43
+ },
44
+ "hoge_num": {
45
+ "type": "number",
46
+ "format": "float",
47
+ "minimum": 0.0001
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+ }
54
+ ```
55
+
56
+ こちらをJSON::Fuzz::Generator.default_paramで変換すると
57
+
58
+ ```json
59
+ {"hoge_tables"=>{"hoge_id"=>86, "hoge_num"=>0.0001}}
60
+ ```
61
+
62
+ とarrayが無視されて出力されますが、Swagger UIでは
63
+ ```json
64
+ {
65
+ "hoge_tables": [
66
+ {
67
+ "hoge_id": 1,
68
+ "hoge_num": 0
69
+ }
70
+ ]
71
+ }
72
+ ```
73
+
74
+ とhoge_tablesがスキーマの指定通り配列で出力されており、こちらのSwagger UIの結果の形で出力されて欲しいのですが・・・

1

タイトルの改善

2021/11/19 08:03

投稿

MAOAU
MAOAU

スコア11

title CHANGED
@@ -1,1 +1,1 @@
1
- Swagger JSONからexample valueのJSONを取り出したい
1
+ Swagger JSONからexample valueのJSONを生成したい
body CHANGED
File without changes