質問編集履歴
4
文章の軽微な修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -83,11 +83,12 @@
|
|
83
83
|
}
|
84
84
|
```
|
85
85
|
|
86
|
-
|
86
|
+
|
87
87
|
以下のようなListSomethingA, ListSomethingBが部分取得取得のメソッドでが抽象化の対象になり、共通点はrequestA/requestBにnextTokenとpageSize、responseA/responseBがnextTokenとrowsのメンバ変数を持つことになります。
|
88
88
|
- ListSomethingA(request requestA) responseA
|
89
89
|
- ListSomethingB(request requestB) responseB
|
90
90
|
`json.Unmarshal`のような引数にポインタを入れてそこに結果を格納する形でも良いのですがそれでも良い方法がわかりません。
|
91
|
+
先の例の場合は以下のように実行すると全結果取得ができるイメージです。
|
91
92
|
```go
|
92
93
|
fmt.Println(NewLooper(/*ListSomethingAやresponseAやrequestA*/).Loop())
|
93
94
|
// 出力結果: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
|
3
抽象化対象の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -84,12 +84,14 @@
|
|
84
84
|
```
|
85
85
|
|
86
86
|
先の例の場合は以下のように実行すると全結果取得ができるイメージです。
|
87
|
-
|
87
|
+
以下のようなListSomethingA, ListSomethingBが部分取得取得のメソッドでが抽象化の対象になり、共通点はrequestA/requestBにnextTokenとpageSize、responseA/responseBがnextTokenとrowsのメンバ変数を持つことになります。
|
88
|
+
- ListSomethingA(request requestA) responseA
|
89
|
+
- ListSomethingB(request requestB) responseB
|
88
90
|
`json.Unmarshal`のような引数にポインタを入れてそこに結果を格納する形でも良いのですがそれでも良い方法がわかりません。
|
89
91
|
```go
|
90
|
-
fmt.Println(NewLooper(/*ListSomething
|
92
|
+
fmt.Println(NewLooper(/*ListSomethingAやresponseAやrequestA*/).Loop())
|
91
93
|
// 出力結果: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
|
92
|
-
fmt.Println(NewLooper(/*ListSomething
|
94
|
+
fmt.Println(NewLooper(/*ListSomethingBやresponceBやrequestB*/).Loop())
|
93
95
|
// 出力結果: [0 1 2 3 4 5 6 7 8 9 10]
|
94
96
|
```
|
95
97
|
|
2
抽象化対象の可変部分の明記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### 前提
|
2
|
-
|
2
|
+
nextTokenとrequest/responceにpageSizeをrequestのオブジェクトに持つ別の「部分取得」メソッドがありさえすれば「全件取得」ができるようにする方法を探しています。
|
3
3
|
また、この投稿はマルチポストになります。他の投稿は以下になります。
|
4
4
|
- https://stackoverflow.com/questions/74782804
|
5
5
|
- https://ja.stackoverflow.com/questions/92728
|
@@ -84,10 +84,13 @@
|
|
84
84
|
```
|
85
85
|
|
86
86
|
先の例の場合は以下のように実行すると全結果取得ができるイメージです。
|
87
|
+
この時ListSomething1とListSomething2はnextTokenとrequest/responceにpageSizeをrequestのオブジェクトに持つ別のメソッドになります!
|
87
88
|
`json.Unmarshal`のような引数にポインタを入れてそこに結果を格納する形でも良いのですがそれでも良い方法がわかりません。
|
88
89
|
```go
|
89
|
-
fmt.Println(NewLooper(/*ListSomethingやresponceやrequest*/).Loop())
|
90
|
+
fmt.Println(NewLooper(/*ListSomething1やresponce1やrequest1*/).Loop())
|
90
91
|
// 出力結果: [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
|
92
|
+
fmt.Println(NewLooper(/*ListSomething2やresponce2やreques2t*/).Loop())
|
93
|
+
// 出力結果: [0 1 2 3 4 5 6 7 8 9 10]
|
91
94
|
```
|
92
95
|
|
93
96
|
### 補足情報(FW/ツールのバージョンなど)
|
1
マルチポストの明記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
### 前提
|
2
2
|
ページ分割されたリスト取得APIの全結果取得をGo言語でクラス化できずに困っており、実装例を示していただきたい
|
3
|
+
また、この投稿はマルチポストになります。他の投稿は以下になります。
|
4
|
+
- https://stackoverflow.com/questions/74782804
|
5
|
+
- https://ja.stackoverflow.com/questions/92728
|
3
6
|
|
4
7
|
### 実現したいこと
|
5
8
|
以下のようなrequest/responceオブジェクトを持つページ分割されたリスト取得メソッド(=ListSomething)があったとき、
|